BT

CrossTwine LinkerがMRIおよび1.9.1パフォーマンスの向上を目指す

| 作者: Werner Schuster フォローする 6 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2009年5月11日. 推定読書時間: 3 分 |

原文(投稿日:2009/5/3)へのリンク

CrossTwine(リンク)は、既存のRubyおよびPythonランタイムのパフォーマンスの改善を目指している。CrossTwine Linkerの概要(リンク)は、以下のとおりである。

一言で言えば、オブジェクトや機能のランタイムの振る舞いを監視し、完全な安全性を提供しつつも、不必要なダイナミズムを除去することでよくある例を最適 化する。 Technical White Paperで具体的に説明している。

CrossTwineパッチを装備したRuby 1.8およびRuby 1.9.1バージョンは、Linux向けのバイナリとして利用可能(リンク)である。

CrossTwineテクノロジのソースやVMへの統合を求めても、何の成果もない。テクノロジは解決済みのソース(リンク)である。その代わりに、企業はサービスの提供に重点的に取り組みたくなり、CrossTwineテクノロジでRubyまたはPythonアプリケーションの改善に一役買う。

サービスビジネスとして、CrossTwine Linkerカーネルは、迅速に特定の二ーズに設えられた言語、ドメイン、さらには問題に固有のインタープリターの開発を可能にする。その結果、対象とな る問題について知っていれば、専門性のレベルを選択(および拡張)することができる。しかしながら、安全に「うまく逃れる」ことができる。問題に特定のカ スタマイズは言語と100%の互換性があるが、ある種のワークロードではずっと高速になりえる。

それにもかかわらず、単純なベンチマークによっては、利用可能なバイナリはプレーンランタイムより高速にコードを実行するものもある。しかし、現在の最初のアルファバージョンは特定のコードしか最適化しないことを、CrossTwineのデベロッパの1人が述べている(リンク)

現実世界のアプリケーションの高速化は、それらが依存している設備により、実際非常に簡単からとてつもなく難しいものまで多岐に及ぶ。また、とても完了し ているとは言いがたい。大量の演算をおこなうアプリケーションが、大幅なスピードアップが実現できた一方で、変更されたインタープリターではRailsは 高速化されていない現状である。


技術的な情報はWhitepaper (PDF)で提供されている。最適化により、インラインキャッシングおよびメッセージ送信を改善する。また、別の最適化は、変数の繰り返される検索を改善 することで、インスタンス変数の検索に取り組む。Javascriptオブジェクト向けのGoogle ChromeのV8と類似した、他の検索の最適化は計画されているが、現在は活発とは言いがたい。

Twitterがhttp://twitter.com/crosstwineにある。

Python空間において、Unladen Swallowプロジェクト(リンク)の発表後まもなく、CrossTwineが 誕生する。そのWebサイトによると、Unladen Swallowを支えているチームは、数名のGoogleの従業員で構成される。 パフォーマンスの追加のため、現在のVMおよび計画にかかわっている。計画された最適化の1つは、遅いバイトコードのディスパッチを高速なメソッド(直接 的なスレッドなど)に代えることで、バイトコードインタープリターの効率性ループを改善することである。他に計画されていることは、Ruby 1.9.xにも存在しているGIL (Global Interpreter Lock)を除去し、ひとつのスレッドが同時にPythonコードを実行できるようにすることである。今後の計画には、世代のGCや最終的にはLLVMを 使用することで実装されるJITが含まれる。CrossTwineとは異なり、 Unladen Swallowはオープンソースである。

最後に、古いVMの効率性を改善するということになると、Cog VMのプロジェクトから目が離せない。それは、Eliott Miranda氏(リンク)によるSqueak VMの整備されたバージョンである。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT