TGViewer
Заметки Бэкендера Заметки Бэкендера @backend_it · 18.9K subscribers
Post #5089 429
❗️Java: ручное разбиение задач обогнало parallel().collect()

Процедурная генерация игровых миров на Java упирается в перебор сотен тысяч клеток — и последовательный код становится узким местом.

Задача — взвешенная случайная выборка без возвращения: каждому кандидату считается ключ -log(random)/weight, а PriorityQueue держит только K лучших. Компактный вариант с parallel().collect() в большинстве тестов проиграл ручному разбиению массива на части по числу логических процессоров — с промежуточной агрегацией очередей.


Стоит прочитать, если оптимизируешь тяжёлые вычисления на Java и хочешь понять, где параллельные стримы реально помогают

🔥Ссылка на статью

Заметки Бэкендера & Max
More from @backend_it
  1. Oct 14, 2026❗️Курс Многопоточность и параллелизм в Java: освоить передовые технологии Java для облачны…
  2. Oct 14, 2026Как платить за границей и за зарубежные сервисы в 2026 году? Можно переплачивать посредник…
  3. Oct 14, 2026❗️Leetcode: решаем задачу через backtracking Автор делится личным опытом решения задачи Le…
  4. Oct 13, 2026❗️Kubernetes как ядро Linux: дистрибутивы и пакетный менеджер Kubernetes становится всё сл…
  5. Oct 13, 2026❗️Свой MCP-сервер для Jira и GitLab Готовые MCP-серверы с GitHub часто рассчитаны на одног…
  6. Oct 12, 2026❗️Хакеры внедряют вредоносный код в npm-пакеты Простая команда npm install может обернутьс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →