1

Тема: Стресс-тест: загоняем в textKit 80 томов "Война и мир"

Мы всегда уделяем немало внимания производительности, поэтому алгоритмы, используемые в textKit постоянно совершенствуются и позволяют обрабатывать большие объемы данных за минимальное время.

Сегодня я решил провести стресс-тест программы и его результаты, по моему мнению, будут многим интересны. Сразу скажу, что романы великого автора трогать мы не будем :)

Для эксперимента мне понадобилось: свежая версия textKit, куча тестовых файлов, тестовый стенд (ноутбук на базе двухъядерного пня 1.6 ГГц, 2 ГБ RAM, Win 7), пара ровных рук (как бы это банально не звучало :)), чашка свежезаваренного горячего кофе и острое желание сделать какую-нибудь гадость :) Как видите тестовая машина вовсе не супер-компьютер, а вполне обыкновенная.

Подготовка

Итак, имеется папка с необработанными текстами общим размером 173 МБ. В ней находилось большое количество (в общей сложности 2086) файлов разных типов: doc, rtf, txt, старые файлы в досовских форматах. Перед импортом в ТК мне пришлось преобразовать файлы в HTML посредством Word2Html конвертера имеющегося в арсенале textKit. Этот процесс занял достаточно много времени, поскольку в первую очередь обусловлен скоростью работы MS Word. На это ушло около получаса (достаточно времени что бы сходить на кухню и заварить бодрящий черный напиток), что собственно не впечатляет, но с задачей ТК справился и на выходе мы получили 2086 HTML файлов общим объемом 157 МБ. Теперь начинается самое интересное. До этого момента, в моих руках, ТК не обрабатывал такие объемы и я не мог представить как он может повести себя, что собственно подогревало мой интерес к этому эксперименту.

Импорт

Файлы импортировались посредством Пакетного импорта TXT/HTML, названия статей выделялись по регулярному выражению, а в настройках очистки текста я оставил все по умолчанию. С такими настройками на импорт 157 МБ текстов textKit затратил чуть больше 6 мин. Достаточно неплохой результат, как вы думаете?

Размер получившегося файла проекта составил 103 МБ. На его открытие или сохранение уходит не более 4-5 секунд. Суммарное число символов без пробелов во всех записях проекта перевалило за 45,5 млн (для сравнения, в замечательном романе "Война и мир"  Л. Н. Толстого, который я к своему стыду так и не прочел, содержится чуть больше 2,5 млн символов без пробелов). Комфортность работы с ТК зависит именно от размера проекта: чем больше проект, тем больше времени ТК затрачивает на выполнение операций и откаты/повторы.

Разбивка записей

Теперь попробуем привести проект в более пригодный для сайта (чего лукавить - сателлита :)) вид и разобьем статьи по, скажем, 1700-2000 символов, а в качестве названий записей возьмем случайное предложение из текста со случайной обрезкой до 30-60 символов. На это ТК затратил 3 мин 20 сек с результатом в 24,5 тыс статей по 1850 символов в каждой.

Автометки

В заключение (чашка кофе быстро пустеет :)) я решил присвоить всем записям проекта метки. Таблицу ключевых слов (мин. длина 4 символа, не менее 10 упоминаний) ТК построил за 45 сек. Для теста я наполнил словарь 100-ей случайных меток и запустил Автометки с присвоением 5-10 меток на статью и дополнением случайными при отсутствии релевантных. С такими настройками textKit обработал записи за 1 мин 10 сек.


Ну вот и все, пожалуй достаточно. По результатам стресс-теста можно видеть, что ТК обладает не только удобными инструментами, позволяющими экономить немало времени, но и эффективно быстрыми алгоритмами, делающими работу с ним весьма комфортной и легкой.

...эх если бы его еще и кофе научить готовить :)

2

Re: Стресс-тест: загоняем в textKit 80 томов "Война и мир"

хм... На днях буду обрабатывать очень крупную партию текстов, если хотите - напишу подробнейший отчет о моем стресс-тесте =)
В сумме будет обрабатываться более 10 гигабайт текста.

3

Re: Стресс-тест: загоняем в textKit 80 томов "Война и мир"

Обязательно надо, статистика это любит )

С уважением. Павел

4

Re: Стресс-тест: загоняем в textKit 80 томов "Война и мир"

dendesoft пишет:

В сумме будет обрабатываться более 10 гигабайт текста.

Только не советую пытаться скармливать все 10 гигов зараз :)

5

Re: Стресс-тест: загоняем в textKit 80 томов "Война и мир"

Только не советую пытаться скармливать все 10 гигов зараз smile

Не ребята, раз уж рекомендуете свой продукт как стабильный - буду испытывать по полной. Пощады не ждите =)))
Мощность компьютера для этого достаточная.

6

Re: Стресс-тест: загоняем в textKit 80 томов "Война и мир"

Попробовал засунуть в ТК 3к. статей, выдало ошибку "название статьи" не существует (импорт - пакетный html).
Попробовайл по 500-1500 все в норме, но все же, даже если ошибка в ТК, а не у меня, очень хороший результат, не многие импортируют по 80 томов;)