Size: a a a

2021 January 06

ИИ

Иван Иванов... in KotlinLangRu
По сути дела с хорошей библиотекой IO можно такое проворачивать за 0.X секунд
источник

BP

Bogdan Panchenko in KotlinLangRu
Vladislav Sumin
Тред пул или корутины лучше чем просто 30 потоков уже только за счёт переиспользования
Понятно что лучше. С этим же никто не спорит
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
Так вот я и изучаю вопрос с целью узнать, как вообще обстоят дела с асинхронными корутин-запросами.
Также как и с блокирующими. Кае выше заметили корутины вам дают удобство использования и они сами распределять нагрузку. Это удобный инструмент
источник

ИИ

Иван Иванов... in KotlinLangRu
Vladislav Sumin
Но мне кажется когда твое приложение мобильный клиент то вообще пофиг, тут главное удобство и корутины его дают.
ну, я без корутин обхожусь тоже обычным пулом потоков общего пользования.  это не ноу-хау.
а вот сократить количество потоков — это интересно.
источник

ИИ

Иван Иванов... in KotlinLangRu
На данный момент мне пришлось увеличить количество потоков с 4 до 100, чтобы успевать принимать все запросы от телеги. потому что встроенный HttpServer как-то не очень быстро принимает и закрывает.
хотя логика максимально простейшая. принять текст и закрыть, а бузинес-логика уже дальше уходит.

Вот здесь думаю, корутины себя хорошо показали бы, сократив количество потоков со 140 до 20
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
На данный момент мне пришлось увеличить количество потоков с 4 до 100, чтобы успевать принимать все запросы от телеги. потому что встроенный HttpServer как-то не очень быстро принимает и закрывает.
хотя логика максимально простейшая. принять текст и закрыть, а бузинес-логика уже дальше уходит.

Вот здесь думаю, корутины себя хорошо показали бы, сократив количество потоков со 140 до 20
Ну кстати открывать и закрывать не так уж дешиво. Поэтому соединения делают idle
источник

VS

Vladislav Sumin in KotlinLangRu
Иван Иванов
ну, я без корутин обхожусь тоже обычным пулом потоков общего пользования.  это не ноу-хау.
а вот сократить количество потоков — это интересно.
Я просто оценил удобство корутин, их контекст возможность отменять задачи на любом этапе.
Сейчас старый проект переписываю и корутины уменьшают количество кода раза в 2, при этом делая его более стабильным и читаемым
источник

ИИ

Иван Иванов... in KotlinLangRu
Vladislav Sumin
Я просто оценил удобство корутин, их контекст возможность отменять задачи на любом этапе.
Сейчас старый проект переписываю и корутины уменьшают количество кода раза в 2, при этом делая его более стабильным и читаемым
очень интересно. а можно примеры сокращения было/стало. хотя бы простейшие
источник

VS

Vladislav Sumin in KotlinLangRu
Вы ещё учтите что у взрослых серверов кроме переиспользования потоков есть ещё и переиспользования сокетов, что позволяет прицепить Некст клиента на тот же сокет
источник

VS

Vladislav Sumin in KotlinLangRu
Иван Иванов
очень интересно. а можно примеры сокращения было/стало. хотя бы простейшие
Простейшие нет, но могу кинуть линк на 2 репозитория было 3 года назад / написано с нуля за 10 дней
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Ну кстати открывать и закрывать не так уж дешиво. Поэтому соединения делают idle
так. вот про это не знал. idle соединения для чего? повторного использования? но ведь вероятно это как-то продумано внутри com.sun.net.httpserver.HttpSever?
источник

VS

Vladislav Sumin in KotlinLangRu
https://github.com/VladislavSumin/Control
https://github.com/VladislavSumin/Cams
Это система записи контента с камер видеонаблюдения с сервером и клиентом. Сейчас я ее переписываю
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
так. вот про это не знал. idle соединения для чего? повторного использования? но ведь вероятно это как-то продумано внутри com.sun.net.httpserver.HttpSever?
В старом нет это вообще относится к стандарту http
источник

BP

Bogdan Panchenko in KotlinLangRu
Idle ещё в бд бывают так то 😊
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Idle ещё в бд бывают так то 😊
ну, с этим я знаком. там пул соединений — обычное дело)
источник

ИИ

Иван Иванов... in KotlinLangRu
Vladislav Sumin
https://github.com/VladislavSumin/Control
https://github.com/VladislavSumin/Cams
Это система записи контента с камер видеонаблюдения с сервером и клиентом. Сейчас я ее переписываю
так. окей а куда там посмотреть?
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
ну, с этим я знаком. там пул соединений — обычное дело)
Дело не в пулу, а в том что не теряется время на подключение
источник

BP

Bogdan Panchenko in KotlinLangRu
У вас и одно такое соединения может быть
источник

VS

Vladislav Sumin in KotlinLangRu
Иван Иванов
так. окей а куда там посмотреть?
В пакет соединения с камерой у сервера
источник

VS

Vladislav Sumin in KotlinLangRu
Одно на io слкетах
источник