[Перевод] Как NodeJS обрабатывает множественные запросы?

Существует много путаницы по поводу конкурентности и параллелизма. Некоторые люди используют эти термины как взаимозаменяемые, но на самом деле они означают две разные вещи. Читать далее…

Ускоряем Groovy скрипты

AST (Abstract Syntax Tree) преобразование для исполнения Groovy скриптов с @CompileStatic
Введение
Предположим у Вас есть некоторый скрипт который работает с некоторым бизнес объектом, скажем Person.
Groovy script
person.name = ‘Peter’
У Groov…

DLI Benchmark — инструмент для измерения скорости работы моделей глубокого обучения

Каждый фреймворк глубокого обучения использует свой подход к инференсу глубоких моделей и находит компромисс между временем обработки данных, потреблением ресурсов и качеством работы. Результатом такого разнообразия является множество возможных комбина…

Примитивы синхронизации в JavaScript: cемафоры и хоккей

Реализуем простейшие механизмы синхронизации потоков в JavaScript. На этапе раскатки перед матчем с помощью бинарного семафора разделим игроков на две равные группы, а уже в процессе игры с помощью семафора со счетчиком избавимся от штрафов за нарушени…

Снижение аллокации при замыкании (closure)

Недавно у меня появилась задача по снижению аллокации в очень горячем месте кода. Там происходит тривиальное: запускаются Task’и в которых заранее известным набором handler’ов обрабатываются объекты. Вооружившись профайлером, я с удивлением обнаружил, …

Method Dispatch

Method Dispatch или чего не мы не замечаем при работе программы? Читать далее

Copy-on-write

Что такое copy-on-write?Что такое COW или какой механизм может помочь сохранить нашу память при работе со структурами? Читать далее