170 похожих чатов

Еще один вопрос по многопоточности. Я правильно структуирую многопоточный код?

Просто, даже в 4 потоках(включая основной) прирост в скорости лишь х2(если сравнивать с одним потоком). На парсинг 40 страниц(разбил на каждый поток по 40 страниц) уходит около 30 секунд(в одном потоке), на парсинг 200 страниц в 4 потоках 90 секунд. В одном потоке парсинг 200 страниц 200 секунд

17 ответов

20 просмотров

Парсинг, наверное, тяжелый, и ты упираешься в GIL. Может тебе стоит перепрыгнуть на многопроцессинг.

Assa-Byn Автор вопроса
Oskar Sharipov
Парсинг, наверное, тяжелый, и ты упираешься в GIL....

попробовал, результат почти тот же, те же 90-100 секунд. Скорее всего парсинг тяжелый и сайт как-то задерживает столько реквестов в секунду(если такое понятие существует)

Assa Byn
попробовал, результат почти тот же, те же 90-100 с...

во-первых нужно понять во что ты упираешься и как именно "пробовал".

Assa-Byn Автор вопроса
Alex
во-первых нужно понять во что ты упираешься и как ...

Сверху скидывал скрины кода, многопроцессовую задачу создавал точно также

Assa Byn
6

6 физических? Ты не путаешь с логическими? Скажи процессор, пожалуйста.

Assa Byn
думаю путаю, intel 9400

Если i5 9400, то, кажется, не путаешь. Тогда должно было распараллелиться аккуратно, значит странности есть. Видимо, код всё же багованный.

Assa-Byn Автор вопроса
Oskar Sharipov
Если i5 9400, то, кажется, не путаешь. Тогда должн...

Да, думаю так и есть. Попробовал в три потока, скорость та же самая что и при 5 потоках. Спасибо большое

Assa Byn
Да, думаю так и есть. Попробовал в три потока, ско...

дай угадаю, ты делаешь запросы и сразу же парсишь ответ в том же потоке \ процессе?

Assa Byn
да

ну а чего ты ожидал? пока твой процесс лазит в сеть, он просто ждет.

Assa-Byn Автор вопроса
Alex
ну а чего ты ожидал? пока твой процесс лазит в сет...

не, я выше писал что при парсинге 40 страниц уходит 30-40 секунд, а при парсинге 200 страниц(в 5 потоков, на каждый поток дал по 40 страниц) парсит 100 секунд. Поэтому спросил, правильно ли я структуировал многопоточный код

Assa Byn
не, я выше писал что при парсинге 40 страниц уходи...

нет, не правильно. узкое место у тебя очевидно не CPU.

Well Done
.

нет. и вообще замерять нужно, а не гадать.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта