нужно написать консольную C++ программу под linux которая будет на вход получать список доменов (файл с записями 260 млн штук)
приложение должно быстро загружать главную страницу домена используя асинхронные запросы, количество потоков на скачивание от 10000тыс в секунду.
и тут же прогонять по полученным документам регулярные выражения в количестве 3000 штук
сами регулярные выражения в формате js, их нужно автоматически конвертировать.
примеры регулярных выражений:
<link rel=["']stylesheet["'] [^>]+wp-(?:content|includes)
<a[^>]+href="[^"]*(?:\?|&)xcart_form_id=[a-z\d]{32}(?:&|$)
(?:jQuery\.extend\(true, XenForo|Forum software by XenForo™|<!--XF:branding|<html[^>]+id="XenForo")
результаты складывать в три файла:
+ файл с работой регулярок по html документу
+ файл с успешно скаченными хостами
+ файл с хостами загрузка по которым не удалась
приложение будет запущено на сервере с каналом 100мбит/12-24 ядра ядер 2.3MhZ/4-8 gb DDR
приоритет: максимальная скорость, нужно подумать как все оптимизировать + стабильная работа без вываливания исключений.
конечная скорость должна составлять не менее 500 загруженных обработанных документов в секунду.
на python скрипт 3000 выражений прогоняет по html за 700-1000мс на 1 страницу, нужно придумать как значительно ускорить.
Опубликован 24.03.2015 в 00:22 Последнее изменение: 24.03.2015 в 01:05