Может ли JavaScript встроен в программу C ++ быстрее, чем JavaScript в Интернете

Я строго новичок в C ++, но мне было интересно, может ли javascript (или Lua или любой другой язык сценариев), работающий внутри программы C ++, подвергаться такому же аппаратному ускорению, как и код C ++.

Я понимаю, что это потребовало бы наличия движка js где-нибудь в вашей программе, но было бы любопытно, если бы этот javascript был по своей природе быстрее / лучше по любой причине.

1

Решение

Как вы сказали, такая программа должна будет использовать какой-то движок javascript, весьма вероятный, который уже используется в браузерах, таких как V8. Любой прирост скорости (если таковой имеется) в основном будет зависеть от дизайна приложения. Ваша программа, вероятно, не должна использовать столько ресурсов и абстракций, которые переплетены с javascript.

3

Другие решения

Сам JavaScript является интерпретированным / переведенным языком. Можно написать свой собственный переводчик или переводчик для него (и если вы действительно умны, сделайте это лучше, чем существующие …), но это большая задача — сделать что-то, что «работает», не говоря уже о том, чтобы улучшить существующие, и, скорее всего, было бы трудно охватить все причуды, и «это работает таким образом в Firefox и таким образом в IE7, каким-то другим способом в IE8 +» обходные пути, которые используют веб-сайты.

Если вы используете ранее существовавший JS-интерпретатор, выгода будет небольшой или не будет никакой.

2

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

Аналогично, компилятор C ++ часто пытается автоматически оптимизировать код. Реализация C ++ может создать транслятор Javascript, который считается оптимальным для одной машины, но чрезвычайно медленным для другой, тогда как другой может создать транслятор Javascript, идеально оптимальный или медленный для обеих машин.

0
По вопросам рекламы [email protected]