Как работает JavaScript: внутри движка V8? - PullRequest
0 голосов
/ 11 октября 2018

Каждый браузер имеет собственный движок для JavaScript, поэтому, если я хочу узнать, как работает JavaScript, я должен узнать обо всех двигателях?

Преобразуют ли модули код таким же образом?

1 Ответ

0 голосов
/ 11 октября 2018

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

Если вы не хотите, чтобы ваше приложение работало идеально в каждом отдельном движке.Мы просто говорим о миллисекундах здесь.

Общая концепция здесь одинакова для каждого двигателя.

Если вы хотите глубже понять, как движки обрабатывают ваш код, я рекомендую проверить Вы не знаете JS .Это серия книг из 6 частей, которые вы можете прочитать онлайн бесплатно.

Прочитав это, я лично получил гораздо лучшее представление о том, как мой код обрабатывается движком.И я уверен, что часть, в которой вы должны отличаться между этими двигателями, связана с производительностью в миллисекундной области!

Краткое описание того, как отличаются двигатели, можно найти здесь: Руководствок движкам JavaScript .Вы также можете ознакомиться с руководством по производительности здесь: Сравнение движка JavaScript .

Цитата оттуда:

Существует несколько инструментов, которые могут помочь вам в тестировании производительности вашего кода Javascript.Точный и удобный способ сделать это - использовать функцию Javascript - console.time [10] или performance.now [11], которая работает в большинстве современных браузеров и более новых версиях NodeJS.Для более точного тестирования производительности не на основе DOM используйте внутренний профилировщик V8 [12].

У них также есть более полезные источники!

Редактировать:

Еще одно обсуждение производительности JavaScript и его тестирования можно найти здесь: Как вы тестируете производительность кода JavaScript? и цитата оттуда:

В наши дни профилировщик Chrome и другие инструменты доступны повсеместно и просты в использовании, как console.time (), console.profile () и performance.now.().Chrome также дает вам представление временной шкалы, которое может показать вам, что убивает вашу частоту кадров, где пользователь может ждать и т. Д.

Найти документацию для всех этих инструментов очень просто, вам не требуется SOответь за это.Спустя 7 лет я все еще повторю совет моего первоначального ответа и укажу, что вы можете иметь медленный код, выполняемый вечно, где пользователь этого не заметит, и довольно быстрый код, работающий там, где он это делает, и они будут жаловаться надовольно быстрый код недостаточно быстр.Или чтобы ваш запрос к API вашего сервера занял 220мс.Или что-то еще в этом роде.Суть в том, что если вы возьмете профилировщик и начнете искать работу, вы ее найдете, но это может быть не та работа, которая нужна вашим пользователям.

...