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

А может быть такое, что асинхронность медленнее синхронности? я код на

асинхронность переписал и у меня замедлилось всё
переписывал синхронный код библиотеки python-binance

68 ответов

15 просмотров
FS- Автор вопроса

но я тестировал только на одном пользователе, а если будет пользователей 20, то какой код может показать себя лучше?

Важно понимать что в коде

FS- Автор вопроса
Понедельник
Важно понимать что в коде

Математические операции(*/), вызов асинхронных функций из библиотеки python-binance, операции с БД sqlite3 И много if/else

Может

FS- Автор вопроса
Tishka17
Может

И ещё ответ на дополнение пожалуйста

FS
но я тестировал только на одном пользователе, а ес...

правильно написанный асинхронный код

FS- Автор вопроса

my async code, который работает медленнее чем my sync code

FS
my async code, который работает медленнее чем my s...

в асинхронном контексте всё равно используешь requests?

что за файл sql?

FS- Автор вопроса
ZeN
что за файл sql?

Там операции с базой данных sqlite3 insert(), select и т.п.

FS- Автор вопроса
ZeN
ну покажи его

Там говнокод, но не откажусь от критики одна из функций: def select_3(name_base: str, where_id: str, eq_id: str, where_id_2: str, eq_id_2: str, where_id_3: str, eq_id_3: str): conn = sqlite3.connect(f"{name_db}.db", check_same_thread=False) cursor = conn.cursor() sql = f"SELECT * FROM {name_base}" \ f" WHERE {where_id} = '{eq_id}'" \ f" and {where_id_2} = '{eq_id_2}'" \ f" and {where_id_3} = '{eq_id_3}'" cursor.execute(sql) return cursor.fetchone()

FS- Автор вопроса
Tishka17
Чзх

это я знаю, почти все запросы делаются самим ботом я вроде бы всё верно указываю)

FS- Автор вопроса
Tishka17
Хуерно

это влияет на скорость работы бота?

не может, а асинхронный код всегда как правило медленней синхронного

FS- Автор вопроса
Tishka17
https://t.me/advice17/10

cursor.execute("SELECT * FROM ? ? = ? and ? = ? and ? = ? and ? = ?", (name_base, where_id, eq_id, where_id_2, eq_id_2,where_id_3, eq_id_3,where_id_4, eq_id_4,)) не работает cursor.execute(f"SELECT * FROM {name_base} {where_id} = ? and {where_id_2} = ? and" f" {where_id_3} = ? and {where_id_4} = ?", (eq_id, eq_id_2, eq_id_3, eq_id_4,)) не работает

FS
cursor.execute("SELECT * FROM ? ? = ? and ? = ? an...

Конечно не работает. Ты каким-то хуем таблицу подставляешь, хотя разные таблицы в разных случаях используются. Плейсхолдер для подстановки данных нужен, а запрос должен писаться осмыслено

FS
cursor.execute("SELECT * FROM ? ? = ? and ? = ? an...

Что это за ужас? Не проще тогда уж не параметры подставлять, а сразу запрос фигачить руками?

FS- Автор вопроса
FS
Я уже решил, спасибо за ответ

Не надо свои сообщения удалять

FS- Автор вопроса
Alex
зачем удалил?

Не актуально

FS
Не актуально

Ты не актуален

FS- Автор вопроса
Илья Власов
Не надо свои сообщения удалять

Хорошо, в следующий раз так не буду

FS- Автор вопроса
Aleksandr Danilov 🇺🇦
Так не первый же раз

Разве? Может ты меня с кем-то путаешь

FS
Хорошо, в следующий раз так не буду

Пчел, вот представь, что в интернете все будут удалять свои вопросы и ответы на них после их решения? Это делается для того, чтобы потом другие люди могли найти твой вопрос и посмотреть на него ответ

FS- Автор вопроса
Илья Власов
Пчел, вот представь, что в интернете все будут уда...

Я уже понял что удалять не нужно, там WHERE пропущен был)

FS- Автор вопроса

Я читал, но имя базы и элемент по которому ищу не может быть "?"

FS- Автор вопроса
FS
Я читал, но имя базы и элемент по которому ищу не ...

Приходится использовать f для того, чтобы вставлять имя таблицы и элемент по которому ищу

FS
Приходится использовать f для того, чтобы вставля...

Не представляю ситуации когда в зависимости от каких-то динамических условий надо искать или пользователя или товар. При том, что у них ещё и состав колонок разный и не получится в одном месте юзать

FS- Автор вопроса
Tishka17
Не нужно вставлять имя таблицы

Мне нужно Я хочу чтобы я использовал select('users','user_id','11111'), а не писал каждый раз "SELECT * FROM users ..." Легче один раз переписать функцию, чем сто раз все "SELECT * FROM"

FS
Мне нужно Я хочу чтобы я использовал select('users...

не надо изобретать орм, возьми готовый

FS- Автор вопроса
Алиса Кассель-Королёва
возьми орм может быть

Честно говоря не знаю что это и с чем это едят , но поищу в интернете

Алиса Кассель-Королёва
ой, привет доставка уже работает?

жсоны прекратили доставку в рф в связи с текущими событиями

FS
Мне нужно Я хочу чтобы я использовал select('users...

Ты забыл перечислить например состав колонок которые хочешь получить

FS
Мне нужно Я хочу чтобы я использовал select('users...

Как ты будешь делать джойны, лимиты? Сложные where? Агрегации?

В чем проблема сделать под каждую таблицу по одной функции с правильным селектом?

не пизди пожалуйста. ты захаживал в чат SQLAlchemy задолго до сегодняшнего дня.

FS- Автор вопроса
Tishka17
В чем проблема сделать под каждую таблицу по одной...

Если я где-то ошибусь или мне захочется использовать что-то другое нужно будет переписывать все

FS
Мне нужно Я хочу чтобы я использовал select('users...

Проблема этого селекта в том, что он возвращает хз что. Ты всегда должен явным образом указывать список запрашиваемых колонок

FS- Автор вопроса
FS
Если я где-то ошибусь или мне захочется использова...

Именно, если ты ошибаешься в своем универсальном селекте, тебе придется переписывать вообще всё, чтобы обработать эту ситуацию. А если ошибёшься в одной функции, надо будет исправить только её

Alex
не пизди пожалуйста. ты захаживал в чат SQLAlchemy...

ух... похоже у нас тут два чувака с одинаковыми никами сидят по разным чатам.

FS- Автор вопроса
FS- Автор вопроса
Tishka17
Именно, если ты ошибаешься в своем универсальном с...

Хорошо, я тебя понял Следующий раз или алхимию выберу или буду делать так ,как у нормальных программистов )

Tishka17
При этом оба чате аиограма есть

бляяя разбань меня там, я случайно нажал ,,Я животное,,

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

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

Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
анрей С какой целью зашёл?
КТ315
42
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Кто нибудь из участников чата пишет на ассемблере под GNU/Linux?
Spiker01
24
Всем привет ребят! Мб кто-то сталкивался? adminСomponents .get("searchСomponents", use: searchComponents) .openAPI( summary: ...
Admin Adminov
2
Насколько моя реализация Exercise 1 плохая? data MessageType = Info | Warning | Error Int deriving (Show, Eq) type TimeStamp = Int data LogMessage = LogMessage ...
= ?
10
Кстати вопрос. Проанализировав свои проекты я понял, что в наиболее ценных из них Асм использовался для организации real-time процессов (внутри DOS). А какие есть способы сего...
Alexander Morozov
18
Я не очень много работал с потоками, тут возник вопрос - если будет одновременный доступ к памяти из двух разных потоков, это само по себе приведет к ошибке?
The Bird of Hermes
25
Карта сайта