Если вы хотите провести какой-то эксперимент с Node.js, то лучше сначала поискать в GH issues. Например, я как-то задался вопросом, что будет, если системный аллокатор заменить на jemalloc. И, конечно же, нашелся результат такого эксперимента:
github.com/nodejs/node/is…
Если кто-то не знаком с jemalloc, то это аллокатор памяти, изначально реализованный для FreeBSD, а теперь активно поддерживаемый Facebook. Вот статья, описывающая его оригинальный дизайн (в текущей версии много изменилось, но суть та же):
people.freebsd.org/~jasone/jemall…
В момент появления jemalloc хорошо выглядел в сравнении с libc аллокатором, но сейчас уже все не так однозначно. Что наглядно показывает GH issue с результатами эксперимента. Поэтому Node.js по-прежнему используется системный аллокатор.
Небольшой офтопик для знакомых с Java. Дизайн jemalloc был использован для off-heap аллокатора в сетевом фреймворке Netty. Да-да, вы не ослышались, в Netty есть off-heap аллокатор, написанный на Java.
Предлагаю на сегодня на этом остановиться. Завтра мы пообщаемся на тему инструментов анализа производительности и диагностики Node.js приложений.