5分でわかる
JRuby最新事情
高井 直人
Akasaka.rb/伊藤忠テクノソリューションズ株式会社
2009年1月24日
2009年1月25日日曜日
自己紹介
•高井 直人(たかい なおと)
•http://recompile.net
•takai@recompile.net
•山形県酒田市にて誕生
•米は庄内米
•山は鳥海山
•買い物はト一屋
•即身仏はトラウマ
2009年1月25日日曜日
提 供
2009年1月25日日曜日
JRuby
•JRubyとは?
•Javaで実装されたRuby処理系
•最新バージョンは1.1.6
•Sun Microsystemsが開発を支援
•Thomas Enebo氏
•Charles Oliver Nutter氏
•特徴
•Java...
0
1.5
3.0
4.5
6.0
7.5
9.0
10.5
12.0
13.5
15.0
10 20 30 40 50
Ruby 1.8.7
Ruby 1.9.1
JRuby 1.1.6
実行時間(秒) hilbert_matrix.rb*の...
アジェンダ
•JRubyの最新マイナー機能を紹介します
•Ruby 1.9
新しい文法などへの対応
•MVM
複数Ruby VMを同時に実行
•FFI
外部関数の呼び出し
2009年1月25日日曜日
Ruby 1.9
•JRubyの動作
•基本はRuby 1.8.6互換
•--1.9オプションで1.9.1互換
% cat sample.rb
puts -> h {
"Hi, #{h[:n]}!".each_char 
.inject(&:+...
MVM : Multi Virtual Machine
•複数VMを同時に実行
•メモリ消費量を削減可能
•VM間通信の機構を持つ
vm = JRuby::VM.spawn([
"-e" "load 'subvm.rb'"
])
JRuby::...
FFI : Foreign Function Interface
•ネイティブライブラリを呼び出し
•内部的にはJNAを利用
require 'ffi'
module Math
ffi_lib '/path/to/libfib.so'
atta...
提 供
2009年1月25日日曜日
Upcoming SlideShare
Loading in …5
×

5分でわかるJRuby最新事情

1,871 views

Published on

仙台Ruby会議01ライトニングトーク発表資料

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,871
On SlideShare
0
From Embeds
0
Number of Embeds
239
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

5分でわかるJRuby最新事情

  1. 1. 5分でわかる JRuby最新事情 高井 直人 Akasaka.rb/伊藤忠テクノソリューションズ株式会社 2009年1月24日 2009年1月25日日曜日
  2. 2. 自己紹介 •高井 直人(たかい なおと) •http://recompile.net •takai@recompile.net •山形県酒田市にて誕生 •米は庄内米 •山は鳥海山 •買い物はト一屋 •即身仏はトラウマ 2009年1月25日日曜日
  3. 3. 提 供 2009年1月25日日曜日
  4. 4. JRuby •JRubyとは? •Javaで実装されたRuby処理系 •最新バージョンは1.1.6 •Sun Microsystemsが開発を支援 •Thomas Enebo氏 •Charles Oliver Nutter氏 •特徴 •Javaとの統合機能 •Java HotSpot™ VMによる高い処理性能 2009年1月25日日曜日
  5. 5. 0 1.5 3.0 4.5 6.0 7.5 9.0 10.5 12.0 13.5 15.0 10 20 30 40 50 Ruby 1.8.7 Ruby 1.9.1 JRuby 1.1.6 実行時間(秒) hilbert_matrix.rb*の実行時間 次元数 * http://groups.google.com/group/ruby-benchmark-suite 2009年1月25日日曜日
  6. 6. アジェンダ •JRubyの最新マイナー機能を紹介します •Ruby 1.9 新しい文法などへの対応 •MVM 複数Ruby VMを同時に実行 •FFI 外部関数の呼び出し 2009年1月25日日曜日
  7. 7. Ruby 1.9 •JRubyの動作 •基本はRuby 1.8.6互換 •--1.9オプションで1.9.1互換 % cat sample.rb puts -> h { "Hi, #{h[:n]}!".each_char .inject(&:+) }.(n: "Ruby 1.9") % jruby --1.9 sample.rb Hi, Ruby 1.9! 2009年1月25日日曜日
  8. 8. MVM : Multi Virtual Machine •複数VMを同時に実行 •メモリ消費量を削減可能 •VM間通信の機構を持つ vm = JRuby::VM.spawn([ "-e" "load 'subvm.rb'" ]) JRuby::VM.get_message JRuby::VM.send_message(id, msg) 2009年1月25日日曜日
  9. 9. FFI : Foreign Function Interface •ネイティブライブラリを呼び出し •内部的にはJNAを利用 require 'ffi' module Math ffi_lib '/path/to/libfib.so' attach_function(:fib, :fib, [:int], :int) end puts Math.fib(30) 2009年1月25日日曜日
  10. 10. 提 供 2009年1月25日日曜日

×