Каковы код и следы данных ведущих движков JavaScript? (V8, Squirrelfish, TraceMonkey ..) - PullRequest
5 голосов
/ 19 ноября 2008

Поскольку скорость основных движков Javascript, кажется, находится на одном уровне, следующий критерий - это занимаемая площадь. Каковы код и следы данных ведущих движков JavaScript?

Ответы [ 2 ]

2 голосов
/ 01 января 2009

squirrelfish должен иметь наименьший след (я помню, я где-то читал, что он использует действительно простую таблицу перевода из кода JS в нативный код), но если вы хотите что-то очень маленькое, вы должны взглянуть на более ранние движки js (которые не используют нативный кодовые таблицы), поскольку они интерпретируют код по ходу и не компилируют все в соответствии с текущей машиной.

Я не вижу смысла сравнивать js-движки, хотя они в основном однопоточные (ну, новые движки многопоточные, но это из новых «высокооптимизированных» движков), и они загружаются только один раз, а затем интерпретируют мегабайты кода JS ... Скорость важнее размера ... даже для мобильных устройств, потому что я не ожидаю, что движок JS будет использовать более 1-2 МБ памяти (даже, на мой взгляд, это слишком много), но сумма JS-скриптов на странице на основе JS может легко передать это.

0 голосов
/ 05 ноября 2009

V8 - лучший двигатель AFAIK с более высокими показателями производительности, который имеет меньший объем памяти. V8 загружает каждый объект JS на основе контекста в память, а также использует сборщик мусора поколений, что означает, что больше памяти во время выполнения собирается с меньшими потерями производительности.

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

В V8 все встроенные объекты, такие как массив, математика и т. Д., Также являются файлами JS, которые загружаются динамически. Поскольку встроенные объекты очень легки, когда они находятся на виртуальной машине, мы также можем сделать их статическим кодом, если требуется большая производительность при некоторой потере памяти.

...