0

私は厳密には C++ の初心者ですが、C++ プログラム内で実行されている JavaScript (または Lua または任意のスクリプト言語) が、C++ コードが提供できるのと同じ種類のハードウェア アクセラレーションの影響を受けるかどうか疑問に思っていました。

これには、プログラムのどこかに js エンジンが必要になることは承知していますが、何らかの理由でこの JavaScript が本質的に高速/優れているかどうかに興味がありました。

4

3 に答える 3

3

あなたが言ったように、そのようなプログラムは、V8 のようなブラウザーで既に使用されている可能性が高い、ある種の JavaScript エンジンを使用する必要があります。速度の向上 (もしあれば) は、主にアプリケーションの設計によるものです。あなたのプログラムはおそらく、JavaScript と絡み合った多くのリソースと抽象化を使用する必要はありません。

于 2013-03-31T01:18:00.493 に答える
2

JavaScript 自体はインタープリター/翻訳言語です。そのための独自のインタープリターまたはトランスレーターを作成することは可能です (そして、あなたが本当に賢いなら、既存のものよりも優れた方法で作成してください...)。ほとんどの場合、Web サイトで使用される「Firefox ではこのように動作し、IE7 ではそのように動作し、IE8+ では別の方法で動作する」タイプの回避策をすべてカバーするのは難しいでしょう。

既存の JS インタープリターを使用する場合、メリットはほとんどまたはまったくありません。

于 2013-03-31T01:22:39.090 に答える
0

速度は、言語によって導入された属性ではなく、実装によって導入された属性です。最適と見なされるアルゴリズムを使用して作成された Javascript トランスレータもあれば、ずさんで遅いアルゴリズムを使用して作成された Javascript トランスレータもあります。Javascript ソース コードで使用されるアルゴリズムは、最適化における最も重要な試みです。

同様に、C++ コンパイラは、多くの場合、コードを自動的に最適化しようとします。C++ の実装では、あるマシンでは最適であるが別のマシンでは非常に遅いと見なされる Javascript トランスレータが生成される場合があります。別の実装では、両方のマシンで完全に最適または遅い Javascript トランスレータが生成される場合があります。

于 2013-03-31T01:25:13.363 に答える