|
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 39
|
||||||
Как ускорить код? Numba?08.06.2020, 00:19. Показов 2442. Ответов 28
Подскажите как можно ускорить код? TXT файлы весят 20MB, python долго считывает их.
Пытался через библиотеку ‘Numba’, но слишком много действий для jit'a и выполнение завершается.
0
|
||||||
| 08.06.2020, 00:19 | |
|
Ответы с готовыми решениями:
28
Как ускорить код?
Как ускорить код |
|
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 39
|
||
| 10.06.2020, 00:18 [ТС] | ||
|
0
|
||
|
|
|
| 10.06.2020, 00:38 | |
|
Сколько у тебя файлов?
Что ты ищешь в каждом html? Не проще извлечь нужную часть html (как часть какого-то элемента страницы) с помощью XPATH или селекторов CSS (это называется html парсинг - lxml\bs4) и уже не тупо по строчкам этого html итерировать и проверять наличие этого нечто в файлах, а искать что-то конкретное в файлах? Искать тогда можно будет уже не линейным поиском, а регулярным выражением.
0
|
|
|
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 39
|
||
| 10.06.2020, 11:43 [ТС] | ||
|
0
|
||
|
|
||
| 10.06.2020, 13:51 | ||
|
И что ты хочешь проверить? Вхождение первого попавшегося\любого артикула из файла в конкретный html и затем записать его url и этот первый попавшийся артикул? (так следует из твоего первого кода, только вместо return должен быть break). Почему тебя интересен любой артикул? В этом случае можно все артикулы засунуть в set и проверять set([артикулы_из_файла\файлов]) & set([артикулы_из_конкретного_html]) - ровно одна операция на каждый url. Если результат не пустой set(), значит есть пересечение. Или ты хочешь все-таки декартово произведение и сравнивать каждый с каждым? return в твоем коде завершает не цикл, а всю функцию run целиком. break делает выход из ближайшего цикла. Для досрочного выхода из вышележащих циклов уже не обойтись без условий с флагами, так как в Python нет меток циклов. try except неправильно делать на весь код. Он должен быть как выстрел снайпера - ровно на одну операцию, которая может вызвать исключение, которое ты не можешь проверить и исключить. В данном случае это запрос на сервер. И у каждого исключения есть имя, поэтому ловить нужно не любое исключение, а конкретное. Если базовых исключений на операцию может быть несколько, писать под каждое свой блок except. И только в самом последнем блоке except можно написать except Exception для отлова всех прочих исключений.
2
|
||
|
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 39
|
||||||||
| 10.06.2020, 21:55 [ТС] | ||||||||
0
|
||||||||
|
|
||||||
| 10.06.2020, 22:44 | ||||||
|
Хотя бы вот к такому варианту свой код приведите...
Не нужно делать в цикле то, что должно быть вне цикла.
1
|
||||||
|
║XLR8║
|
|
| 10.06.2020, 22:46 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 39
|
|
| 11.06.2020, 11:30 [ТС] | |
|
Garry Galler, outoftime, спасибо вам, все работает намного быстрей!
0
|
|
| 11.06.2020, 11:30 | |
|
Как ускорить код? Можно как-то ускорить код?
Как ускорить код для задачи про забор? Ускорить асинхронный код Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|