ZebroidФорумПубличный разделОптимизацияАрхивСкорость работы регулярных выражений

Скорость работы регулярных выражений

19 декабря 2014, 19:55
Зарегистрирован: 18 сентября 2014, 17:56
Добрый день. Сегодня столкнулся с очень медленной скоростью обработки регулярок в программы. Мне нужно было очистить текст от коротких строк, и это можно сделать при помощи такого:

^.{0,50}$
(заменяем на «ничего»)

Я прождал около 40-ка минут (при полной загрузке одного ядру CPU, естественно) — на мой взгляд это не то чтобы долго, здесь где ошибка в оптимизации.

Затем я открыл файл в notepad++ (причем, это текстовый редактор, а не процессор), и всё сделал за 2 минуты. Прилагаю видео. Сам файл можно скачать отсюда.

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

Причем, именно это должно быть сильной стороной zebroid: если я соберусь сделать каплю макрос на пачку файлов с разными командами обработки, то он может и за ночь не справиться. Что печально: хотелось бы скорость уровня textpipe, т.к. именно батч и обработка — и есть основная функция программы.

Пожалуйста, оптимизируйте работу regexp. Это очень важно.

ps Система Windows 7-64, Zebroid 5.18 build 6906

Комментарий отредактирован 6 раз(а). Последний раз редактировал seoshnek 19 декабря 2014, 19:59.