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

Если человек не умеет работать с TCP, то какой нафиг

чат он напишет?

39 ответов

29 просмотров

Я не умею работать с TCP.

Ну питонисты 20 строк напишут, и чатик работает. Не думаю, что большинство из них умеют гонять пакеты. Дело в желаемом уровне абстракции

serfcity--fsanitize=undefined,address Автор вопроса

Причём тут скрпитование вообще?

serfcity -fsanitize=undefined,address
Причём тут скрпитование вообще?

А, на питоне только скрипты можно написать? Прикольно

serfcity--fsanitize=undefined,address Автор вопроса
Eyed Shovel
А, на питоне только скрипты можно написать? Прикол...

Совсем нет. Микроскопом гвозди тоже забивать можно.

serfcity -fsanitize=undefined,address
Совсем нет. Микроскопом гвозди тоже забивать можно...

Ладно, я недостаточно выпивший/укуренный, чтобы по этому поводу ещё холиварить. Живите в проклятом мире, который сами и создаёте

serfcity -fsanitize=undefined,address
Причём тут скрпитование вообще?

Реалии таковы, что backend и на питоне пишется

Michael
Реалии таковы, что backend и на питоне пишется

Не надо, щас он ещё про раст что-то услышит и можно слоумод в чате сразу часовой ставить

serfcity--fsanitize=undefined,address Автор вопроса
Michael
Реалии таковы, что backend и на питоне пишется

Реалии таковы, что потом это ПО на высокопроизводительных серверах тормозит, не говоря о бытовых серверах.

serfcity -fsanitize=undefined,address
Реалии таковы, что потом это ПО на высокопроизводи...

Реалии таковы, что TTM важнее. Именно поэтому усервер, а не асио.

serfcity--fsanitize=undefined,address Автор вопроса
Michael
Где?

Знаете matrix.org? Его бэкэнд написан на питоне и несколькими тысячами пользователей текстовое сообщение в несколько слов через этот сервер может проходить секунд 10-15.

serfcity -fsanitize=undefined,address
Знаете matrix.org? Его бэкэнд написан на питоне и ...

Видимо, заказчиков всё устраивает, раз оно живое

serfcity -fsanitize=undefined,address
Знаете matrix.org? Его бэкэнд написан на питоне и ...

Во-первых это просто протокол. И сервера там децентрализованные. Хочешь - хоть на паскале имплементируй. На питоне оно писалось чтобы любой мимокрокодил мог развернуть одной кнопкой

serfcity--fsanitize=undefined,address Автор вопроса
Eyed Shovel
Во-первых это просто протокол. И сервера там децен...

Речь не про протокол, речь про конкретный сервер. Этот конкретный сервер использует бэк на питоне и так тормозит.

В децентрализованной сети нет "конкретного сервера". А производительность локального серва мерять надо уметь.

Vlad Doc
В децентрализованной сети нет "конкретного сервера...

Там не совсем децентрализованная сеть. Речь о конкретных серверах домена. Только как оно там внутри устроено знает один только б-г и держатели серверов.

serfcity--fsanitize=undefined,address Автор вопроса
Павλо 🇺🇦
а точно ли в питоне проблема?

Почему-то jabberd2 (другой протокол, но суть не сильно меняется) тратил целых 2 Мб на пользователя онлайн и никогда не тормозил. За 2 Мб, кстати, его ругали, потому что это казалось расточительным (в те времена, когда у среднестатистических серверов было 512 - 1024 Мб ОЗУ)

Павλо 🇺🇦
а точно ли в питоне проблема?

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

serfcity -fsanitize=undefined,address
Почему-то jabberd2 (другой протокол, но суть не си...

а мы говорим про текущий матрикс, или все же образца тех лет, когда на серверах было в среднем 10-15 секунд?

Павλо 🇺🇦
а мы говорим про текущий матрикс, или все же образ...

я это все просто к тому, что, возможно, тут виноват не столько питон, сколько иные сетевые штуки - бд, к примеру

serfcity--fsanitize=undefined,address Автор вопроса
Павλо 🇺🇦
я это все просто к тому, что, возможно, тут винова...

Если один простенький запрос выполняется за 10e-6 секунды (mysql, например), то несколько тысяч запросов дадут порядок 10e-2.

serfcity -fsanitize=undefined,address
Если один простенький запрос выполняется за 10e-6 ...

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

serfcity--fsanitize=undefined,address Автор вопроса
Павλо 🇺🇦
а насколько простеньким будет запрос в условиях чу...

Ну если кто-то послал кому-то текстовое сообщение, то просто 1 INSERT. Если какое-то вложение было, то ещё 1-2.

Павλо 🇺🇦
ты в этом уверен?

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

serfcity--fsanitize=undefined,address Автор вопроса
Павλо 🇺🇦
я, конечно, мессенджеры не шибко много писал, но м...

Если БД это просто лог, то должно быть так. Почти все остальное будет в ОЗУ. Нет смысла на каждое обновление лезть в БД.

serfcity--fsanitize=undefined,address Автор вопроса
Павλо 🇺🇦
а как же оповестить всех остальных об этом?

Просто отправить каждому сообщение, кто должен его получить?

serfcity--fsanitize=undefined,address Автор вопроса
Vlad Doc
Думаю клиенты сами пингуют серв

А тогда какая проблема? Если оно есть в LRU, то отдадим так, если нет, то придется залезть в БД.

Vlad Doc
Думаю клиенты сами пингуют серв

Есть три разных практики ивентов. От шорт и лонг поллинга до SSE

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта