Внимание! Вышло обновление Penguin до версии 5.9. Внесены следующие изменения:
Скачать Penguin 5.9
По поводу антивирусов: в последнее время наблюдается наращивание параноидальности у антивирусов, только что скомпилированный файл лицензионной версией Майкросовтовской Visual Studio, только за отсутствие цифровой подписи некоторые антивирусы определяют, как вирус. Ставишь на него любую защиту с помощью лицензионного пакера и тоже, в зависимости от настроек, определяются на выходе разные вирусы. Делаешь инсталятор и та же проблема. В текущей версии я проверил все сборки самым параноидальным антиварем и вроде бы все нормально. Если у кого-то на версию 5.9 что-то сработает, пишите в ЛС кто ругается и на что. Буду качать эти анивирусы и проверять при каких настройках можно минимизировать срабатывание.
Ну и по традиции с одновлениями акция!
Промокод: 1203AA335E9842AD, скидка 50% на все программы на X-Parser.ru
Купить Penguin 5.9, не забывайте нажимать кнопку "Применить", чтобы применить скидку!
Ок, приму к сведению, попробую добавить.
Логика предельно простая: есть в файле определенное кол-во строк. Если у нас есть 1 условие проверки, то программа делает следующее: проходит файл построчно и выполняет 1 условие на каждую строку. Если у нас есть 2 условия, то на каждую строку выполняются уже 2 условия. И если у нас в файле, например, миллиард строк, то в первом случае у нас был миллиард операций, а во втором - 2 миллиарда операций поиска подстроки в строке. Это, так или иначе, пропорционально увеличивает расход процессорного времени и на больших объемах при увеличении количества условий скорость пропорционально падает.
Лучшее решение - первоначально делать глобальную выборку по минимуму условий, чтобы выделить тематические клчевики и сократить объем начальных данных, а уже потом делать более сложные выборки по нескольким условиям.
В любом случае при работе с огромными файлами (40-50Гб) скорость будет исчисляться часами, так как операций производится миллиарды. В целом есть решения как ускорить выборку, но это потребует создавать программу совершенно отличную от концепции Пингвина, которая будет работать не с текстовыми файлами. А цель пингвина работать именно с текстовыми файлами.
#слово+#слово в очередь добавил, буду делать обновления - посмотрю на сколько будет это удобно реализовать. В целом можно использовать регулярное выражение типа ([^а-я]слово1[^а-я].*[ ]слово2[^а-я]|[^а-я]слово2[^а-я].*[^а-я]слово1[^а-я]), в целом условия с # преобразуются именно в такие регулярные выражения, а регулярное выражение работает на много медленнее, чем простое условие. Поэтому предпочтительнее сделать выборку начальную по простым условиям и уже потом прогонять составные.
Такой режим, но для каждого условия построчно может быть реализован путем ввода вхождений таким образом: "Слово1:=Имя_файла1.txt" и так отдельная строка для каждого условия.
Обновления! Penguin обновлен до версии 5.7. Внесены следующие изменения:
Скачать Penguin 5.7
Пишите в аську 663 восемь четыре семь 900, она постоянно активна. Идею нужно обсудить детальнее.
Пингвин обновлен до версии 5.3. Внесены следующие изменения:
До конца месяца действует скидка 40%, промокод: B9069F28F4BE49E1
Купить, как укажите промокод, не забудьте нажать кнопку "Использовать"
Принял Вашу идею. Возможно реализую в следующих обновах. Довольно хорошая концепция.
Удаление дублей происходит при использовании оперативной памяти, таким образом размер файла ограничен размером Вашей оперативной памяти.
Есть 2 варианта удаления дублей: быстрый но лимитированный, и медленный, но не лимитированный. Во втором случае надо сравнить все строки со всеми, а это значит, что на файл размером 45 гигабайт нужно произвести примерно миллиард миллиардов операций, что ровно в миллиард раз больше, чем производится при фильтрации. А это значит, что такой файл будет обрабатываться около миллиона лет. Кстати такой алгоритм используется при поиске вхождения строк друг в друга, и если попробовать обработать им такой файл, то он напишет Вам сколько точно займет по времени такая обработка.
Как удалять дубли, советы:
1. Удаляйте дубли в конечных выборках, это займет пару лишних минут.
2. Если файл отсортирован по алфавиту, то можно проверить есть ли там в принципе дубли, как правило не бывает, но если база собрана самостоятельно то другое дело.
3. Если файл отсортирован, разбить его на части размером меньше чем Ваша оперативная память, удалить в каждом куске дубли, затем открыть все эти файлы, произвести выборку без условий, чтобы они объединились и сохранить уже с нужным именем.
4. Самый лучший: Сделать выборку по первой букве по регулярному выражению во включениях типа "^a", "^б" и т.д. по каждой букве, затем проделать все действия, описанные в третьем пункте.
По поводу ICQ: я использую 2 аськи (ICQ и QIP), обе можно найти здесь. Писать лучше именно на ICQ 66-три-84-семь-900, так как QIP отличается тем, что очень много сообщений туда не доходят. ICQ доступно постоянно и отвечаю моментально.
А вот это, кстати сказать, надо будет сделать в следующих обновлениях. Спасибо, что обратили внимание.
Обновления! Penguin обновлен до версии 4.7. Внесены следующие изменения:
Скачать Penguin 4.7
-------------------------------------------------------------------
За обзор большое спасибо.