Классический ILogger.LogInformation($"User {userId}") выглядит безобидно, но на деле компилятор: формирует итоговую строку через string.Format‑like логику, боксит userId, DateTime, struct‑ы и прочее добро, а так же линкует все в object[] ради структурированных логов.Аллокационная цена вопроса —…
Pure.DI — это генератор кода для внедрения зависимостей (Dependency Injection), который работает на этапе компиляции. Pure.DI развивает идею «чистого DI»: вместо контейнера и рефлексии вы получаете обычный C#‑код, который создаёт композиции объектов. В этой статье — новые возможности из релизов 2.3.5–2.5.1: от union types в роли DI‑контрактов до сценариев внедрения зависимостей без лишних аллокаций. Читать далее
Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти. Преимущества:• Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google; • Низкое количество аллокаций…
Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций. Читать разбор