Как измерить потери в кэше ЦП и предварительную выборку в механизмах JavaScript?

Мне нужен способ командной строки для оценки низкоуровневых участников для снижения производительности на ватт приложений Node.js. А именно, L1, L2 и кэш предварительной выборки пропускают сгенерированный JIT собственный код, а также JIT/GC/interpteter самой среды выполнения JavaScript.

JavaScriptCore, v8 и ChakraCore все предоставляют REPL командной строки для выполнения тестов. Какие профилировщики можно использовать на аппаратном обеспечении на базе процессоров Intel, AMD и ARMv6 для сбора этой статистики с разумной точностью? Я предпочел бы иметь способ сделать это по крайней мере в двух операционных системах: Windows, Mac и / или Linux.

2 ответа

Решение

V8 и Linux perf Инструмент поддерживает друг друга, см. документацию. Если у вас очень свежая система (ядро IIRC>= 4.4 и perf >= 4.10), вы можете пропустить шаги по компиляции собственного ядра и perf,

Вы можете использовать Valgrind. Цитируя их часто задаваемые вопросы, "Valgrind может обрабатывать динамически сгенерированный код, если ни один из сгенерированного кода не будет перезаписан другим сгенерированным кодом".

Он также поддерживается на различных платформах, включая X86/Linux, X86/Darwin и т. Д.

Другие вопросы по тегам