powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / IdTCPServer отправить сообщение клиенту
25 сообщений из 116, страница 4 из 5
IdTCPServer отправить сообщение клиенту
    #40033515
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer
Это те потоки, у которых закончился таймаут ожидания, или которые ожидали на объекте синхронизации ядра и были разбужены (например при вызове SetEvent или ReleaseMutex из другого потока).

WSAEventSelect, а потом ожидаем события. Таким образом поток переходит в состояние ожидания.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033517
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
Но Node их всё равно сделает, причём в разы. К тому же придётся заплатить бабла


Бесплатный мормот делает ноду . Это было семь лет назад. В комментах трех, угар и содомия, но почитать стоит.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033520
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Kazantsev Alexey
SOFT FOR YOU
Но Node их всё равно сделает, причём в разы. К тому же придётся заплатить бабла


Бесплатный мормот делает ноду . Это было семь лет назад. В комментах трех, угар и содомия, но почитать стоит.

не лишай оптимизатора надежды
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033522
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Думаешь за 7 лет ноду не оптимизировали
Но инфа огонь
Было бы интересно проверить на текущих версиях
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033524
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer
SOFT FOR YOU
DmSer,

Многопоточность в JS есть, просто она сильно спрятана
Никто не мешает похожий подход использовать и в Delphi


Похожий на что? На промайзы или на async/await ?


Я конечно могу быть неточен
Но по-моему, всё это рутина вокруг задач (тасков)
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033526
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
Но инфа огонь

Вот этот комент видел? Прикольные там цифири...
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033529
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Честно говоря, не особо распарсил
Но я часто говорю, что менеджмент памяти на высоконапряженных приложений - это один из ключевых факторов, влияющих на производительность
А мне не верят )
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033531
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
Честно говоря, не особо распарсил

Чего там парсить:
Conclusion:
– when using indy + threadpool + scalemm2, the same high throughput as node can be achived! (12000/s).

При использовании инди с тредпулом и менеджером памяти, который умеет в потоки, достигается та же производительность, что и у ноды.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033532
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
что менеджмент памяти на высоконапряженных приложений - это один из ключевых факторов, влияющих на производительность

Не надо под нагрузкой - память просить, потоки создавать, соединения создавать, RTTI использовать. И прочей хренью заниматься, когда реально есть чем заняться ...
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033533
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эти тесты уже семилетней давности, как бы.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033546
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Во-первых, я не понимаю, чего ты уцепился в потоки на каждого клиента. Очевидно, что это бесперспективный путь
Во-вторых, я не знаю, что значит Indy + ThreadPool. То есть они научились использовать задачи вместо потоков? Кстати ScaleMM2 жрет очень много системной памяти
В-третьих, это было 7 лет назад. Надо тестировать сегодня

Главное. Что ты имеешь против телеги? )
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033547
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

Если у тебя пик 10 клиентов и апи из пары команд - да
Но не все же работают над такими проектами )
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033556
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
Во-первых, я не понимаю, чего ты уцепился в потоки на каждого клиента. Очевидно, что это бесперспективный путь

Этот бесперспективный путь работает не хуже перспективного.

SOFT FOR YOU
Во-вторых, я не знаю, что значит Indy + ThreadPool. То есть они научились использовать задачи вместо потоков?

Нет, пул это не таски, это просто пул. Инди в него умеет с бородатых времён.

SOFT FOR YOU
Кстати ScaleMM2 жрет очень много системной памяти

Во-первых, он не единственный, кто умеет в потоки. Во-вторых, плевать.

SOFT FOR YOU
В-третьих, это было 7 лет назад. Надо тестировать сегодня

Тестируй. Можете вместе с начальником отдела разработки.

SOFT FOR YOU
Главное. Что ты имеешь против телеги? )

Ничего не имею. Она просто не нужна.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033557
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Ну чтобы делать выводы, что работает не хуже - надо взять и замерить
Сделай миллион подключений и возьми современную ноду
Вангую 100х превосходство ноды
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033558
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

Кому надо, тот берёт и тестирует.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033559
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey


Бесплатный мормот делает ноду . Это было семь лет назад. В комментах трех, угар и содомия, но почитать стоит.


А сейчас разработчик мормота выпустил свой супер быстрый и реально работающий менеджер памяти, который, скорее всего, не оставит ноде никаких шансов. Нода все-таки - тяжёлый JS, жрёт память вагонами. Хотя в простейших ситуациях может демонстрировать чудеса скорости (если мерять количеством http-запросов в секунду).
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033560
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
SOFT FOR YOU
Честно говоря, не особо распарсил

Чего там парсить:
Conclusion:
– when using indy + threadpool + scalemm2, the same high throughput as node can be achived! (12000/s).


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

Я несколько лет назад пытался использовать threadpool в Indy10, однако столкнулся с тем, что работает это очень нестабильно. Реально кто-нибудь использует Indy10 с тредпулом ? В инете чрезвычайно мало информации на эту тему!
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033561
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Меня многие убеждали, что файловая система в современных операционных системах умно управляется с менеджментом и кешированием в ОЗУ, а значит, никаких кеш-буферов не нужно. Я проверил и получил превосходство в 1562 раза
К чему я это говорю. Есть некие базовые принципы, которые закладываются в архитектуру, которые существенно влияют на производительность. Почему-то ты уверен, что создание 100500 потоков это эквивалентный путь. Ну дай бог, считай. Но мне не интересно тратить время на такие тесты )
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033562
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нода - всё-таки - не для высоконагруженных серверов! Это шанс разрабатывать бэкенд JS-разработчикам, которые ничего другого не знают. Думаю, GoLang порвёт ноду в десятки раз.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033565
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,

Delphi порвёт и ноду, и голанг, и джаву
Если этим заняться
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033570
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer
Реально кто-нибудь использует Indy10 с тредпулом ? В инете чрезвычайно мало информации на эту тему!

DataSnap.

SOFT FOR YOU
Но мне не интересно тратить время на такие тесты )

Цирк с конями, блин.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033571
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
DmSer,

Delphi порвёт и ноду, и голанг, и джаву
Если этим заняться


Каким образом Delphi порвёт GoLang? Его даже C# не смог обогнать, хотя там есть поддержка асинхронного программирования на уровне языка (а в GoLang эквивалентного асинхронного программирования нет, зато есть Go-рутины :-).
У нас в Delphi какую операцию не возьми - она блокирующая. Читаем файл, пишем файл, копируем файл, делаем запрос к БД, работаем с сетью - везде мы блокируем поток, поэтому вынуждены их создавать в большом количестве, компенсируем эту проблему с помощью пулов, PPL и т.д. Чтобы порвать GoLang, необходимо, чтобы любая операция была неблокирующая и при этом стиль кодирования должен оставаться синхронным (иначе это нафик никому не нужно, ибо становится слишком сложно). А для этого нужна поддержка async / await.
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033572
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
DmSer
пропущено...


Похожий на что? На промайзы или на async/await ?


Я конечно могу быть неточен
Но по-моему, всё это рутина вокруг задач (тасков)


Промайзы в JS это примерно следующее:
https://github.com/VSoftTechnologies/VSoft.Awaitable
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033579
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Цирк с конями, блин.

Пургу несёшь ты, а цирк с конями у меня?
Ну ок
Мне не интересно это обсуждать
Кстати один из членов команды сказал, что такие тесты будут проводиться
Так что можешь подождать N времени и увидеть результаты
Ну либо сделать что-то самостоятельно и убедиться в несостоятельности подхода, который предлагаешь
...
Рейтинг: 0 / 0
IdTCPServer отправить сообщение клиенту
    #40033583
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSer,

Конечно, языки различаются. На скриптовых «однопоточных» языках специальный упрощённый синтаксис, заточенный под особенности архитектуры

Но под капотом это тот же самый пул потоков, на котором исполняются задачи
В Node, Golang, Python и иже с ними используется специфичный менеджер памяти, с отложенной сборкой мусора, дефрагментациями, есть хендлы, дополнительные проверки, дополнительные синхронизации. На Delphi всё это можно провернуть оптимальнее

Опять таки можно - не значит, что это будет
Вопрос в том, какому количеству людей было бы интересно поучаствовать в таком проекте
И постепенно шаг за шагом добиваться большей производительности и удобства
Оглядываясь конечно на другие удачные решения. Того же мормота, ноды, rtc и т.д.
...
Рейтинг: 0 / 0
25 сообщений из 116, страница 4 из 5
Форумы / Delphi [игнор отключен] [закрыт для гостей] / IdTCPServer отправить сообщение клиенту
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]