The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск утилиты GNU grep 3.4"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]

. "Выпуск утилиты GNU grep 3.4" +/
Сообщение от анонн. (?), 04-Янв-20, 01:19 
> Я зарекался чиселки кидать, но ладно. Нашел рандомные логи http://www.almhuette-raith.at/apache-log/access.log
> (906M)

(В)брошу свои чиселки:

>> time rg '(\[.*?\]+)' access.log | wc -l
> 4595960
> real 0m1.306s
> user 0m1.206s
> sys 0m0.577s
>> time grep -P '(\[.*?\]+)' access.log | wc -l
> 4595960
> real 0m2.329s
> user 0m2.101s
> sys 0m0.949s

с tmpfs, лучший результат 4 запусков


% time rg -c '(\[.*?\]+)' access.log
4596036
rg -c '(\[.*?\]+)' access.log  1,46s user 0,17s system 99% cpu 1,632 tota

% time rg -c -j1 '(\[.*?\]+)' access.log
4596036
rg -c -j1 '(\[.*?\]+)' access.log  1,46s user 0,15s system 99% cpu 1,607 total
time /usr/local/bin/grep -cP '(\[.*?\]+)' access.log
4596036

/usr/local/bin/grep -cP '(\[.*?\]+)' access.log  3,53s user 0,28s system 99% cpu 3,813 total

> Ни для grep, ни для ag я результата дождаться не смог. Не
> знаю, с чем это связано (скорее всего с этим: https://mariusschulz.com/blog/why-using-the-greedy-in-regula...
> - потому вдвойне забавно, что rg это спокойно прожевал), но сейчас
> нет возможности доводить эксперимент до конца.

Тут уже находили анти-паттерн для rg:


seq 100000000 > fstfile

time rg -ic 1 fstfile
47400465
rg -ic 1 fstfile  5,10s user 0,13s system 99% cpu 5,237 total

time /usr/local/bin/grep -ic 1 fstfile
47400465
/usr/local/bin/grep -ic 1 fstfile  4,28s user 0,35s system 99% cpu 4,640 total


time /usr/local/bin/grep -ic "^1" fstfile
11111113
/usr/local/bin/grep -ic "^1" fstfile  3,02s user 0,33s system 99% cpu 3,351 total

time rg -ic "^1" fstfile
11111113
rg -ic "^1" fstfile  7,77s user 0,24s system 99% cpu 8,019 total


Но это уж совсем синтетика - стоит добавить пару знаков и разница уходит:

time rg -ic "^12" fstfile
11111
rg -ic "^12" fstfile  1,83s user 0,19s system 99% cpu 2,020 total
time /usr/local/bin/grep -ic "^12" fstfile
11111
/usr/local/bin/grep -ic "^12" fstfile  2,69s user 0,32s system 99% cpu 3,017 total


Удивительно правда, что у здешнего анонима _все_ оказалось антипаттерном, да еще и c разницей на порядки.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск утилиты GNU grep 3.4, opennews, 03-Янв-20, 10:05  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру