- Регистрация
- 05.02.2012
- Сообщения
- 209
- Благодарностей
- 52
- Баллы
- 28
Целый день безрезультатно. Протестировал все сниппеты, которые нашел на форуме. Скорость не радует, прошу помощи)
1) В папке находится 500к html файлов.
2) Отдельно есть txt файл, в нем 500к строк с урлами.
3) Запускаю проект, берем 1 файл, берем все ссылки из этого документа, их около 50 штук.
4) Затем включается цикл по кругу, и в цикле ищем эти 50 ссылок по одной в этом большом списке.
В итоге, шаблон создается 10-12 итоговых файлов в минуту. Т.е 500к/12 файлов=41666минут=694часа=28 суток. Жуть однако.
Многопоток при этом не помогает, не знаю почему.
Решил сделать кластеризацию. Т.е. 500к строк разбил по алфавиту, получилось 800 txt файлов
ab.txt - в нем ссылки с вхождением /ab.....
ac.txt
ad.txt
ae.txt
......
в каждом ~ от 10 до 10к строк.
В каждом цикле мы берем ссылку, и парсим из нее первые 2 символа [\w\W]{1,2} , получается к прмеру - ab
Затем привязываем список к файлу ab.txt - и т.к в нем уже меньше строк - поиск происходит быстрее. И т.д.
Результат стал лучше. Примерно 30 файлов в минуту, но все равно это около 10 дней.
--------------------------
Теги: большой список, поиск вхождений, ускорение списка, быстрый поиск в списке, кластеризация списка, скорость поиска
1) В папке находится 500к html файлов.
2) Отдельно есть txt файл, в нем 500к строк с урлами.
3) Запускаю проект, берем 1 файл, берем все ссылки из этого документа, их около 50 штук.
4) Затем включается цикл по кругу, и в цикле ищем эти 50 ссылок по одной в этом большом списке.
В итоге, шаблон создается 10-12 итоговых файлов в минуту. Т.е 500к/12 файлов=41666минут=694часа=28 суток. Жуть однако.
Многопоток при этом не помогает, не знаю почему.
Решил сделать кластеризацию. Т.е. 500к строк разбил по алфавиту, получилось 800 txt файлов
ab.txt - в нем ссылки с вхождением /ab.....
ac.txt
ad.txt
ae.txt
......
в каждом ~ от 10 до 10к строк.
В каждом цикле мы берем ссылку, и парсим из нее первые 2 символа [\w\W]{1,2} , получается к прмеру - ab
Затем привязываем список к файлу ab.txt - и т.к в нем уже меньше строк - поиск происходит быстрее. И т.д.
Результат стал лучше. Примерно 30 файлов в минуту, но все равно это около 10 дней.
--------------------------
Теги: большой список, поиск вхождений, ускорение списка, быстрый поиск в списке, кластеризация списка, скорость поиска