[解決済み】Javascript V8の速度を得るためにRuby、Pythonをブロックするものは何ですか?[クローズド]
質問
Ruby / Pythonの機能で、最適化の実装をブロックしているものはありますか(例. インラインキャッシング ) V8エンジンが持っているものですか?
PythonはGoogleの人たちと共同開発しているので、ソフトウェア特許でブロックされることはないはずです。
あるいは、これはむしろGoogleがV8プロジェクトに投入したリソースの問題です。
解決方法は?
<ブロッククオートJavascript V8の速度を得るためにRuby、Pythonのブロックは何ですか?
何もありません。
まあいいや、金だ。(そして時間、人、資源、でもお金があれば、それらは買えます)
V8には、ダイナミックなOO言語のための高性能実行エンジンを作ることに何十年も(個人的に言っているのであって、全体としては何世紀にも及ぶ)経験を積んだ、優秀で、高度に専門的で、経験豊富な(したがって高給な)エンジニアのチームが働いているのです。彼らは基本的に、Sun HotSpot JVM(その他多数)を作ったのと同じ人たちです。
リード開発者のLars Bakは、文字通り25年間VMに取り組んできました(そのすべてがV8につながっています)。RubyのVMを書いている人の中には、25歳にもなっていない人もいるんですよ。
<ブロッククオートV8エンジンが持つ最適化(インラインキャッシュなど)の実装を阻害しているRuby / Pythonの機能はありますか?
少なくともIronRuby、JRuby、MagLev、MacRuby、Rubiniusはモノモーフィック(IronRuby)またはポリモーフィックインラインキャッシュを持っていることを考えると、答えは明らかに「いいえ」です。
最近のRubyの実装は、すでに多くの最適化を行っています。たとえば、特定の操作に対して、Rubiniusの
Hash
クラスは YARV よりも高速です。さて、このことは、Rubinius の
Hash
クラスは100%純粋なRubyで実装され、YARVのクラスは100%手作業で最適化されたCで実装されています。
つまり、少なくともいくつかのケースでは、Rubinius は GCC よりも良いコードを生成できるのです!
<ブロッククオートあるいは、これはむしろGoogleがV8プロジェクトに投入しているリソースの問題です。
そうですね。Googleだけではありません。V8のソースコードの系譜は、もう25年も前のものなんです。V8に取り組んでいる人たちは、Self VM(今日までで最速の動的OO言語実行エンジンの1つ)、Animorphic Smalltalk VM(今日までで最速のSmalltalk実行エンジンの1つ)、HotSpot JVM(これまでに作られた最速JVM、おそらく最速VM時代)、OOVM(これまでに作られた最も効率の良いSmalltalk VMの1つ)を作った人たちでもあるのです。
実は、V8のリード開発者であるLars Bakが手がけたのは どれもこれも そのほかにもいくつかあります。
関連
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー