PDA

Просмотр полной версии : [Программа] TrueSort - сортировка словарей. От ErrorNeo


talala
13.06.2010, 23:08
Представляю вашему вниманию программу для сортировки и упорядочивания текстовых файлов (словарей) TrueSort.

- Что делает TrueSort?
- превращает любое количество текстовых файлов в подпапке input в один упорядоченный по алфавиту и не имеющий дублей файл в подпапке output.

- Чем он отличается от аналогов?
*требует для работы менее 80мб ОЗУ
*гарантированно не оставляет за собой дублей ("брака")
*умеет обрабатывать файлы, содержащие в словах символы любых кодировок (в том числе символы nil и EOF)
*работает на порядки быстрее любой из существующих аналогичных программ
*способен обрабатывать много-гигабайтовые файлы и создавать многогигобайтовые пасслисты.
*ксательно скрости:


5 словарей по ~500мегов (суммарно 2589mb) объединяются в один 1143mb упорядоченный и без дублей словарь на одноядерном 2 Ггц процессоре за 34 с половиной минуты (тестил на ноуте).
Более 1 ядра программа использовать не умеет

[Ссылки могут видеть только зарегистрированные и активированные пользователи]
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Примечания:
*программа подробно рассказывает о том, что она делает в данный момент в логе. К сожалению, ведение такого отчета тормозит её работу в 2 или 3 раза, потому если вам нужна скорость - ставьте переключатель "Turbo" в положеие on. Это откючит лог и прибавит 100-200% скорости
*к программе прилагается исходный код (проект на дельфи-6) для тех, кто хочет что-либо под-пилить или выпилить, а так же для тех, кто брезгует использовать чужое ПО без исходных кодов.
*программа изначально была выложена мной в закрытом разделе хэшкрекинг.ру, и тогда же я пообещал выложить её в паблик через пол-года. Пол-года прошли, и, более того, я публикую её не только фри но и опенсурс.
*программа нормально обрабатывает input'ы до 15 гигов, стабильно - до 10. Если в инпуте больше 20 гигов за раз - может не справится. Если у вас более 15 гигов инпута - обрабатывайте по 10 гигабайт. Я таким образом обработал более 80 гигабайт, когда собирал свой словарь.
Максимальный пасслист который я ей создавал - 6,5 гига. 13-гиговый пасслист (объединить 2 словаря по 6,5 гига) мне создать не удалось - программа не потянула, в причины я не вникал - мне этого было достаточно.
* в архиве 2 версии - truesort.exe и truesortEOF.exe
-truesort.exe позволяет обрабатывать словари, созданные как под windows так и под *NIX (иногда сожержащие в паролях символы nil и EOF), которые считаются признаком конца файла для большинства виндовых программ, но обычными символами в *NIX. Это плюс. Минус версии - файлы в инпуте должы быть менее 4 гигов каждый, иначе прогармма читает только первые 4 гига и считает что файл кончился, даже если сам файл имеет размер 20 гигов.
-truesortEOF.exe обрабатывает файлы любого размера, хоть 20 гигабайт, но если встретит в файле некоторые нечитаемые (служебные для ОС windows) символы - посчитает эти символы концом файла, как посчитал бы, например, блокнот.


[Ссылки могут видеть только зарегистрированные и активированные пользователи]
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
[Ссылки могут видеть только зарегистрированные и активированные пользователи]


(c)ErrorNeo