jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5858

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat Конфы: @jvmconf ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

ну вообще огромные страницы иногда дают ОГРОМНЫЙ буст из за меньшего кол-ва tlb miss'ов

Читать полностью…

pro.jvm

Вы не можете так же эффективно создавать и уничтожать тысячи платформенных потоков, как виртуальные

Читать полностью…

pro.jvm

В комментариях первый чел - из команды Loom

Читать полностью…

pro.jvm

тогда я наверное не понял. А что именно еще можно было бы оптимизировать в стеках?

Читать полностью…

pro.jvm

Посмотрел(пролистал), честно говоря для оптимизации размера стэка особо ничего не увидел
в основном касается оптимизации копирования фреймов virtual thread continuation <-> platform thread stack
по оптимизации размера увидел планируемую в будущем компрессию фреймов, все (

Читать полностью…

pro.jvm

Смотря сколько подов)

Можно и до 10/50 понизить

Читать полностью…

pro.jvm

Даже с балансером соединений

Читать полностью…

pro.jvm

Что ты имеешь в виду?

Читать полностью…

pro.jvm

ну если говорить про внешнюю систему, то там вообще ещё надо помнить про poison pill

Читать полностью…

pro.jvm

Чем дольше, тем выгоднее решение на виртуальных

Читать полностью…

pro.jvm

И тут уже зависит от того, насколько долго внешняя система будет отвечать

Читать полностью…

pro.jvm

ну если получится доказать про память, то ок
но про параллельность /конкурентность все равно же в jdbc cp упрется

Читать полностью…

pro.jvm

Я уверен, что решение на виртуальных потоках:

Позволит обработать каждое сообщение в батче параллельно
Будет стоить меньше по памяти, чем платформенный тред (на платформенных мы можем вылетать по OOM при ограниченных ресурсах)
Будет быстрее

Читать полностью…

pro.jvm

Я уже два раза писал, почему нет (:

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

> 1/ even 4KB granularity is quite a lot (the expected waste is at least 2KB per thread)

Про это я тоже писал! Когда там висит весь спринг, разницы особо нет.

Читать полностью…

pro.jvm

> managing virtual memory is relatively expensive

ээээ

Читать полностью…

pro.jvm

https://www.reddit.com/r/java/s/XWu7HnGXiQ

Читать полностью…

pro.jvm

А как можно оптимизировать стек под виртуальный тред онли?

Читать полностью…

pro.jvm

вспомнил кейс smallrye messaging (подотносительно Quarkus)
тайм-аут по умолчанию 60 сек воспринимается как сообщение, которое нельзя обработать и общение с Kafka и данным консьюмером блокируется.
я скорее к тому, что там действительно уже все сильно зависит от внешней системы, к подтверждению твоих слов как конкретный кейс

Читать полностью…

pro.jvm

У меня подов может быть быть десятки и сотни…

Читать полностью…

pro.jvm

Это много для условного постгреса

Читать полностью…

pro.jvm

На под 20-40 соединений в jdbc, mvc пул сотка

Читать полностью…

pro.jvm

И в реальных системах никто пулы на 1к потоков не делает, а значит там будет базовый пул потоков + очередь, и эта очередь будет забиваться

Читать полностью…

pro.jvm

/channel/jvmchat/623423

Смотрим на res, дальше проецируем, что будет, когда в стеке окажется реальный код, а не два фрейма.

Читать полностью…

pro.jvm

Ага, только платформенные блокируются

Читать полностью…

pro.jvm

есть ситуации, но безотносительно кафки, конечно

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

главная идея использования virtual threads в kafka consumer это именно уход от проблемы context switching.
Про память ещё доказать надо :)

Читать полностью…

pro.jvm

Там предположение, что код будет делать fan-out для параллельных тасок, и у них будет минимальный стек.

Читать полностью…
Subscribe to a channel