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

У меня есть циклы для ежечасового обновления голода/жизней у "питомца"

игрока, они висят в основном коде бота, запускаются как корутины(в них бесконечный цикл) и при каждом проходе одной итерации цикл вызывает asyncio.sleep(3600). Как это оптимизировать? Знаю что надо бы переписать, но самому нифига кроме threading не лезет

20 ответов

32 просмотра

что именно ты собираешься оптимизировать?

КуюҐама-Зверніться Автор вопроса
Alex
что именно ты собираешься оптимизировать?

чтобы циклы не падали и сильно не занимали основной процесс

КуюҐама-Зверніться Автор вопроса
КуюҐама Зверніться
чтобы циклы не падали и сильно не занимали основно...

мне нужно уменьшить ресурсозатратность и вероятность падения каждого из двух циклов

КуюҐама Зверніться
чтобы циклы не падали и сильно не занимали основно...

1. ну будет у тебя поток падать.... чтобы циклы не падали нужно обрабатывать ошибки.

Можешь попробовать с интерпретатором PyPy запускать, если получится

КуюҐама-Зверніться Автор вопроса
Alex
1. ну будет у тебя поток падать.... чтобы циклы не...

там в основном таймауты только могут быть

КуюҐама Зверніться
мне нужно уменьшить ресурсозатратность и вероятнос...

2. как ты определял "ресурсозатратность" своей программы? как тебе потоки помогут ее уменьшить?

КуюҐама-Зверніться Автор вопроса
КуюҐама Зверніться
ну чтобы циклы не тормозили код

как ты определил что твои "циклы" тормозят код?

КуюҐама-Зверніться Автор вопроса
Alex
как ты определил что твои "циклы" тормозят код?

в момент когда обрабатывается информация есть небольшие фризы

КуюҐама-Зверніться Автор вопроса
Alex
какая информация, как обрабатывается?

берётся с бд все записи у которых required_xp меньше xp и циклически перебирает всё, для индивидуального высчета каждого уровня, xp, required_xp

КуюҐама-Зверніться Автор вопроса
КуюҐама Зверніться
берётся с бд все записи у которых required_xp мень...

с жизнями и голодом конечно просто запрос кидаю в бд(там он один)

а почему бы не отправлять таску чтобы все воркером обрабатывалось celery заюзать

КуюҐама Зверніться
с жизнями и голодом конечно просто запрос кидаю в ...

1. у тебя "фризы" происходят раз в час? 2. как ты работаешь с базой?

1. синхронную или асинхронную алхимию? 2. а вот стоило бы замерить и узнать где у тебя узкое место. и связано ли это с IO bound или CPU bound.

КуюҐама Зверніться
асинхронная

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта