Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,924 views

Published on

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

Published in: Technology
  • Be the first to comment

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日日曜日

×