- Это в каком классе сейчас такие примитивные задачки сейчас задают , Led (ok), 21:27 , 14-Янв-17 (1)
Это в каком классе сейчас такие примитивные задачки сейчас задают?
- gt оверквотинг удален Иногда скорость не имеет решающего значения Есть задачи, Square1 (?), 22:35 , 14-Янв-17 (2)
>[оверквотинг удален] > 2. список доменов: > domain1.com > domain2.com > ... > domainX.com > задача сосотоит в том чтобы выкинуть все мыла из листа 1 домены > которых совпали с доменами из листа 2 > grep -v работает ужасно долго при больших листах - уверен перл справиться > намного быстрее. > Спасибо!Иногда скорость не имеет решающего значения. Есть задачи, решение которых важно в принципиальном плане а не в частной реализации. Что же до скорости.... Самое быстрое решение (если объем файлов действительно велик) - будет загнать оба списка в базу данных а потом сконструировать примитивный select ... like in (select ...) Если объем файлов слишком велик для этого метода- то использовать шардинг. Если объем файлов реально велик - то вероятно надо использовать MapReduce. Что же до перла - то загрузка в перл больших объемов данных приводит к существенному потреблению памяти. Это надо помнить.
- Ну что же, сам напросился - получай code usr bin perlopen DOMAIN, path t, михалыч (ok), 08:45 , 15-Янв-17 (3)
Ну что же, сам напросился - получай ))
#!/usr/bin/perlopen (DOMAIN, /path/to/file/domain); @domain{<DOMAIN>}=(); open (MAIL, /path/to/file/mail); while (<MAIL>) { /^.*\@(.*)/; print unless exists $domain{"$1\n"}; }
насчет жручести памяти в перле будем считать тебя предупредили выше
|