grep -i

Тема в разделе "WASM.UNIX", создана пользователем green5, 25 июн 2011.

  1. green5

    green5 New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    29
    Адрес:
    Protvino
    Почему так тормозит linux/grep:

    root@u3:tmp[130]# time grep 575 /ROOT.LIST >/dev/null

    real 0m0.862s
    user 0m0.532s
    sys 0m0.192s
    root@u3:tmp[0]# time grep -i 575 /ROOT.LIST >/dev/null
    заик
    real 1m0.089s
    user 0m59.316s
    sys 0m0.180s

    windows/find ваще тормоз
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.331
    мб потому, что перед сравнением символы переводятся в нижний (верхний) регистр.
     
  3. green5

    green5 New Member

    Публикаций:
    0
    Регистрация:
    5 янв 2006
    Сообщения:
    29
    Адрес:
    Protvino
    Ну в 2-3 раза время
     
  4. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    green5
    посмотреть код?
     
  5. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    rmn
    мб, ещё потому, что LC_COLLATE и LC_CTYPE на utf8. Попробуй так:
    Код (Text):
    1. time LANG=C grep -i 575 /ROOT.LIST >/dev/null
    И у меня есть ещё одно предположение. Если команды вводились в обратном порядке, то есть, если сначала производился замер без учёта регистра, а затем замер с учётом регистра, то всё предсказуемо: в первый раз /ROOT.LIST читался с жёсткого диска, и скорость определялась скоростью этого диска.