Предоставляет ли Microsoft ChakraCore какое-либо преимущество в производительности по сравнению с Google V8 при использовании в качестве JS Engine для Node.js?

[ Я отредактировал свой вопрос, чтобы сузить сценарий только до Node.js. Пожалуйста, заново откройте его. Это полезный вопрос, и правильные ответы могут прийти в будущем и не раньше, так как ChakraCore еще в очень молодом возрасте. Но этот вопрос действителен и должен быть здесь ]

Мы все знали / читали / слышали о славе Google V8 Engine и о том, как он сделал node.js таким красивым за многие годы.

Но теперь, когда у нас есть возможность выбрать между Microsoft ChakraCore и Google V8 в качестве нашего предпочтительного движка JavaScript, я задаюсь вопросом, есть ли у кого-нибудь какие-либо доказательства или тестовые случаи, когда они обнаружили, что один из них более эффективен, чем другой для nodejs.

Пожалуйста, подкрепите свой ответ некоторыми фактами и результатами, потому что кто-то не должен использовать / выбирать Чакру только потому, что он / она любит Microsoft или то же самое относится к V8 и Google.

Благодарю.

2 ответа

Чем они отличаются?

В то время как большинство современных механизмов JavaScript преобразуют весь код JavaScript в эффективный машинный код ( исходный код), в Chakra есть интеллектуальный и высокопроизводительный интерпретатор. Этот интерпретатор обладает интеллектуальной эвристикой, которая может определить, следует ли скомпилировать ваш код в машинный код или интерпретировать его. Обычно интерпретатор запускается быстрее и требует меньше памяти для запуска, что делает Чакру очень привлекательной для сред с ограниченными ресурсами (таких как Raspberry Pi).

В 2015 году Microsoft представила поддержку Node.js с Chakra, чтобы позволить разработчикам ориентироваться на платформу Windows IoT Core. Недавний открытый доступ к ChakraCore позволил Microsoft развиваться открыто и лучше соответствовать графикам выпуска Node.js.

В недавнем эпизоде ​​JavaScript Air Стив Лукко упомянул, что команда Chakra планирует "действительно серьезно относиться к сообществу и серьезно относиться к его вкладу с точки зрения направления работы движка [и] дать сообществу гораздо больше информации, чем, например, они имели в направлении V8 ".

Стремясь создать JavaScript-движок с эффективным использованием памяти, Microsoft фактически создала конкурентно быстрый. На момент написания этой статьи Чакра в некоторых случаях превосходила V8:

Тесты не обязательно указывают на реальную производительность, но эта конкуренция в производительности виртуальных машин в конечном итоге приведет к более быстрому выполнению Node.js для пользователей всех виртуальных машин.

Стоит также отметить, что наличие собственного движка JavaScript позволит Microsoft свободно вводить новшества. Одним из ранних нововведений является отладка во времени.

Чем они отличаются?

Ну, вопрос слишком широк, чтобы ответить в настоящее время в формате, но я постараюсь ответить на него.

Движок Google V8 обладает всеми функциями, необходимыми для обеспечения невероятно высокой производительности. Так что, по сути, это довольно долгое время является базой для nodejs, и она будет там в течение длительного времени.

С другой стороны, Microsoft ChakraCore также активно развивается и имеет двухслойную структуру (не могу назвать ее) с Chakra Shim и ChakraCore.
Следует отметить, что в Chakra Shim реализованы наиболее важные API-интерфейсы V8, так что базовое изменение движка JavaScript прозрачно для Node.js и других собственных модулей расширения, написанных для V8.

Источник: NodeJs-ChakraCore

Для OP: ищите веб-сборки тоже.

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