>> Неужели та самая хваленая прямизна рук жабистов, позволяющая им запускать grep таким
>> образом, чтобы он падал через час с OOM на сервачке 96 ГБ ОЗУ
> Всё не можешь забыть как си слил жабе? :) О, так там теперь была замешана жаба? Это такая травматическая амнезия? :)
>> но почему-то спокойно обрабатывал ту же задачу, максимум за минуту
> Не ври, ты решил другую задачу, используя совершенно другие ключи (я даже
> не читал что именно).
Ты даже не читал, но точно знаешь? Да ну:
https://www.opennet.ru/openforum/vsluhforumID3/111658.html#29
> лютый жабист__
> дано два файла с ОГРН (число 13 символов), в одном 4.5m, в другом 800k строчек. Надо сделать третий файл с содержимым f1 которого нет в f2.
> grep -v -x -f f2 f1 >f3
> съел 2.5ГБ рамы и задумался уже на много минут. Сервак с 12 ядрами, 100ГБ ОЗУ.
...
> grep сишный через час выпал в OOM на сервере с 96ГБ ОЗУ.
> не_жабисты$ time awk 'ARGIND==1{x[$0]=1}ARGIND==2&&!($0 in x)' <(seq 1000000000000 1000005000000|shuf) <(seq 1000003000000 1000009000000|shuf) |wc -l
4000000
real 0m17.431s
user 0m10.712s
sys 0m0.232s
$ _
$ time grep -vFf <(seq 1000000000000 1000005000000|shuf) <(seq 1000003000000 1000009000000|shuf) |wc -l
4000000
real 0m55.920s
user 0m50.092s
sys 0m0.860s
$ _
> есть старенький ноут с i5 (первым еще) и "слегка" поменьше рамы.% time grep -v -c -F -f f2 f1
3000000
grep -v -c -F -f f2 f1 15,42s user 0,57s system 99% cpu 16,015 total # ~700MB озу
% time awk 'NR==FNR {a[$0];next} !($0 in a){print $0}' f2 f1|wc -l
3000000
awk 'NR==FNR {a[$0];next} !($0 in a){print $0}' f2 f1 11,76s user 0,65s system 99% cpu 12,411 total
wc -l 0,40s user 0,05s system 3% cpu 12,334 total #~1ГБ
Просто кое-кто пупырчатый увидел в мане (или скорее нашел и скопипастил в хипстобложике) пример загрузки с ключем "-f" для загрузки файла образцов. А про то, что образцы будут читаться как регулярки (ага, все 4 мульена) то ли не дочитал, то ли не понял.
И до следующего ключа "-F, --fixed-strings" указывающего грепу, что из файла мы загружаем простые строки, а не регулярки - не дочитал. Или не знал, а потом ещи и забыл.
В итоге (как обычно у жабистов) - фейл на ровном месте, но виноваты или злая сишка с плюсами или окружение, не осилившее предугадать желания и чаяния джаваистов :)