Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
там надо вручную припинивать себя к треду, если это нужно
Читать полностью…Я про это же. Стек нативных тредов выделяется ровно по тем же динамическим принципам.
Читать полностью…Как минимум смена контекста. В зеленом треде ты приземляешься в тот же тред. Асинк таких гарантий не подразумевает.
Читать полностью…виртуальные треды от await отличаются только отсутствием ключевого слова await
Читать полностью…правильно ли я понимаю, что участникам чата лично теперь разрешено юзать виртуальные треды, но не более тысячи?
Читать полностью…поздравляю, у тебя уже 192к циклов на каждую сетевую операцию
Читать полностью…зачем, если ты все равно не выпрыгнешь за количество ядер?
Читать полностью…поэтому они виртуальные и за пределами дискуссии не существуют
Читать полностью…именно, потому что придумать им предназначение мы никак не можем
Читать полностью…Так тебе же миллион тредов на коннекты нужен был, ты не помнишь? А ты эти коннекты теперь восемью разбираешь.
Читать полностью…- но ведь мы реально можем много памяти выиграть, платишь за то, сколько потратил
- миллионы тредов просто не нужны в парадигме клауд нэйтив, но я легко могу представить железный дорогущий сервак с джава аппкой, который молотит C1M
со стороны юзера
да и со стороны внутрянки в целом тоже мало отличий
- я не знаю, зачем бесконтрольно создавать треды
- выигрыш виртуальных главным образом в свитчах. да, выигрыш безусловно есть, весьма серьезный, просто вы его не там объявляете.
- их не надо создавать без конца, потому что это карго-культ
Там будет сложная история с тем, что на каждое ядро будет бизилупом разбирать исключительно собственные задачи, даже ивент лупа в классическом понимании не будет
Читать полностью…мы можем вообще весь этот разговор пропустить и прыгнуть сразу к архитектуре scylla
Читать полностью…и этот тред на каждый запрос будет еще через structured concurrency создавать два треда, чтобы два запроса куда-то еще сделать одновременно (ну как Promise.all в жсе)
Читать полностью…был spring mvc блокирующий с jdbc api, выдавал x на y ресурсах
после включения виртуальных и при условии отсутствия пининга, этот мамонт стал выдавать c*x, c > 1, на y ресурсах
при это старый вариант на 2*x падал в OOM, и требовал k*y ресурсов, k > 1, чтобы не падать, а новый вариант работает хорошо
в итоге, у нас появляются опции:
уменьшить ресурсы, чтобы новые вариант выдавал тот же перфоманс, что и старый
оставить как есть и получить + перфоманс
увеличить ресурсы, чтобы достичь таких показателей, которых старый вариант не мог
либо тоже самое, что в первом пункте, но еще горизонтально масштабировать до старого размера пула ресурсов
ну прикольно же
тредов которые на isolcpus прибиты, которые поллят циклические буферы в сетевухе
и сабмиттят комплишены в ивентлуп вирт тредов, recv пакетика допустим
У тебя есть тайм слайс на один запрос. Который проще всего считать в циклах, потому что он дает баундари по количеству запросов в память, инструкций и прочего.
Читать полностью…