新VM移行で実行速度が大幅に改善
「Ruby 1.9は1.8より平均5倍速い」、YARV笹田氏
2007/09/07
2007年12月にリリースが予定されているRubyの次期バージョン、Ruby 1.9では平均して基本機能の実行が5倍程度、テスト項目によっては最大20倍程度速くなる――。9月7日、東京工業大学 大岡山キャンパスで、IPA(情報処理推進機構)が毎年行っているIPA未踏ソフトウェア創造事業2006年後期に採択された、いくつかのプロジェクトの最終成果報告会が行われた。
報告を行ったプロジェクトの1つは「Ruby用仮想マシンYARVの完成度向上」。これまでにも何度か未踏ソフトウェア創造事業に採択され、YARVの開発を続けてきた東京大学大学院 情報理工学系研究科 特任助手の笹田耕一氏は、最新のベンチマーク結果を披露した。
YARVでは、さまざまな高速化を行っている。例えば、広範囲に高速化の影響が及ぶ例として固定長整数の演算の最適化があるという。現行のRubyでは単純な整数演算の演算子であっても、該当するメソッドを呼び出している。YARVでは、このメソッド呼び出しを省略してダイレクトに演算することで大幅に高速化している。ユーザーが演算子を新たに定義した場合には逆に余分な処理が発生するためパフォーマンスが落ちるが「高速化はトレードオフ」(笹田氏)で、一般的なコードで効率が上がる方法を採用するというのがYARVのアプローチだという。
YARVは、本家Rubyに取り込まれることが決定している。Rubyの生みの親であるまつもと氏が作成したRuby VMに置き換わる形で、次期バージョンのRuby 1.9から導入される。現在、笹田氏はまつもと氏と“緊密な連携”を取りながら、高速化と品質の向上を進めているという。
今後のテーマは並列処理によるスケーラビリティ向上
今後の研究テーマとして笹田氏は、並列処理への対応などスケーラビリティに取り組みたいと話す。ただ、「Rybyの言語仕様の枠組みでスケーラビリティを上げるのは難しい」ため、マルチコア、マルチプロセッサといった密度の高い並列化よりも、クラスターやグリッドのようにネットワークで接続された複数ホストによる並列化を実現していくのがいいのではないかという。
現在、楽天とまつもと氏は共同研究として、同様のRubyによる並列化処理フレームワークの開発に取り組みつつある。それは10台のサーバに対して、Rubyを入れて処理を手軽に分散させられるフレームワークになるという。実行速度の問題から、フレームワーク自体はC言語で書かれる可能性もあるが、利用者はRubyを使って複数サーバの遊休リソースを効率的に使えるようになるという。
関連リンク
関連記事
情報をお寄せください:
- バレンタインチョコの汎化 - 特化 (2009/2/2)
「バレンタインチョコ」どうしよう。「本命チョコ」「義理チョコ」「高級チョコ」に「小分けチョコ」。考えることが楽しくなってきたかも - Python 3が後方互換性を捨ててでも求めたもの (2009/1/30)
Python 3.0では、Python 2との互換性を保たないような機能追加が行われた。痛みを伴ってでも仕様を変更した理由は何なのか - ActiveRecordを使ったソースコードを読もう (2009/1/28)
DBアクセス処理の部分を扱うActiveRecordを読んでいこう。データの検索、更新、検証をどうすべきか - 配列とループ処理を理解しよう (2009/1/21)
Objective-Cの配列クラスの利用法を学ぼう。ループ処理の新機能「高速列挙」の使い方も解説する
|
|
スポンサーからのお知らせ
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜Linux編〜
◆ | New! 高還元率!売り上げの60%が社員の給与に 【ヘルスアップ事業で新しい人材を募集中】 |
◆ | New! “Ruby”で広がる、エンジニアの可能性 〜エンジニア・キャリア進化論(第15回)〜 |
◆ | 企業の新しいコミュニケーション基盤―― “どこでもオフィス”を実現するには? |
◆ | 仮想化に求められる「ポイント」―― コア数が多いほど仮想化の効果は高まる? |
◆ | 自分のスキル、限界を感じていませんか? 独学の限界を超えるための『IT専門教育』 |
◆ | 【SAP認定コンサルタント インタビュー】 SAP基盤分野を通じて見えたスキルとキャリア |
◆ | 復旧時間を従来の1/6まで短縮可能に! イメージバックアップの実力の進化に迫る |
◆ | “iPhone”“路線バス”“N700系新幹線” 共通することってなんだろう……? |
◆ | 今年の新人は「どう育てたい?」 研修のプロが、新人育成のツボを教えます |
◆ | Windows 7を待つべきではない3つの理由! 鍵は“Windows Vista+IE8”! |