чат он напишет?
Я не умею работать с TCP.
Ну питонисты 20 строк напишут, и чатик работает. Не думаю, что большинство из них умеют гонять пакеты. Дело в желаемом уровне абстракции
Причём тут скрпитование вообще?
А, на питоне только скрипты можно написать? Прикольно
Совсем нет. Микроскопом гвозди тоже забивать можно.
Ладно, я недостаточно выпивший/укуренный, чтобы по этому поводу ещё холиварить. Живите в проклятом мире, который сами и создаёте
Реалии таковы, что backend и на питоне пишется
Удивительно такое слушать от яндехоида
Не надо, щас он ещё про раст что-то услышит и можно слоумод в чате сразу часовой ставить
Реалии таковы, что потом это ПО на высокопроизводительных серверах тормозит, не говоря о бытовых серверах.
Реалии таковы, что TTM важнее. Именно поэтому усервер, а не асио.
Знаете matrix.org? Его бэкэнд написан на питоне и несколькими тысячами пользователей текстовое сообщение в несколько слов через этот сервер может проходить секунд 10-15.
Видимо, заказчиков всё устраивает, раз оно живое
Во-первых это просто протокол. И сервера там децентрализованные. Хочешь - хоть на паскале имплементируй. На питоне оно писалось чтобы любой мимокрокодил мог развернуть одной кнопкой
Тормозит оно как раз из-за и2п
Речь не про протокол, речь про конкретный сервер. Этот конкретный сервер использует бэк на питоне и так тормозит.
В децентрализованной сети нет "конкретного сервера". А производительность локального серва мерять надо уметь.
Там не совсем децентрализованная сеть. Речь о конкретных серверах домена. Только как оно там внутри устроено знает один только б-г и держатели серверов.
а точно ли в питоне проблема?
100%. Пруфов не будет.
Почему-то jabberd2 (другой протокол, но суть не сильно меняется) тратил целых 2 Мб на пользователя онлайн и никогда не тормозил. За 2 Мб, кстати, его ругали, потому что это казалось расточительным (в те времена, когда у среднестатистических серверов было 512 - 1024 Мб ОЗУ)
я думаю если применить техники яндекса, то можно добиться лучшего результата. Только для этого надо знать си и с++
а мы говорим про текущий матрикс, или все же образца тех лет, когда на серверах было в среднем 10-15 секунд?
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
я это все просто к тому, что, возможно, тут виноват не столько питон, сколько иные сетевые штуки - бд, к примеру
Если один простенький запрос выполняется за 10e-6 секунды (mysql, например), то несколько тысяч запросов дадут порядок 10e-2.
а насколько простеньким будет запрос в условиях чуть более комплекстной системы?
Ну если кто-то послал кому-то текстовое сообщение, то просто 1 INSERT. Если какое-то вложение было, то ещё 1-2.
я, конечно, мессенджеры не шибко много писал, но могу сказать наверняка, что это обычно далеко не один простенький инсерт
Если БД это просто лог, то должно быть так. Почти все остальное будет в ОЗУ. Нет смысла на каждое обновление лезть в БД.
а как же оповестить всех остальных об этом?
Просто отправить каждому сообщение, кто должен его получить?
Думаю клиенты сами пингуют серв
А тогда какая проблема? Если оно есть в LRU, то отдадим так, если нет, то придется залезть в БД.
Есть три разных практики ивентов. От шорт и лонг поллинга до SSE
Обсуждают сегодня