MacRuby 0.7のブランチが切られ、リリースを待つのみとなり、またベンチマークを取ってみました。前回の計測から、バージョンアップしたRuby実装のベンチマーク結果を追加しました。追加したものは ruby 1.9.2-p0, MacRuby 0.7, JRuby 1.5.3, Rubinius 1.1.0です。 MacRuby 0.7はSVNリポジトリからブランチを取得、ビルドして計測しました。 $ svn co http://svn.macosforge.org/repository/ruby/MacRuby/branches/0.7/ macruby-0.7 環境 PC: Mac mini CPU: Intel Core 2 Duo 1.83 GHz RAM: 1GB DDR2 SDRAM 667 MHz OS: Mac OS X 10.6.4 使用したRuby ruby 1.9.
環境 PC: Mac mini CPU: Intel Core 2 Duo 1.83 GHz RAM: 1GB DDR2 SDRAM 667 MHz OS: Mac OS X 10.6.3 使用したRuby ruby-1.9.2 rev.27984 : svn co -r 27984 http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_2 ruby 1.9.1-p378 ruby 1.8.7-p249 MacRuby 0.6 MacRuby 0.5 JRuby 1.5.0 JRuby 1.4.0 Rubinius 1.0.0 ベンチマークに使用したスクリプト http://github.com/acangiano/ruby-benchmark-suite 結果 ベンチマーク結果の単位はsecです。青字は一番高いパフォーマンス値で、赤字
Recently MacRuby 0.6 was released. The development team put a lot of emphasis on improving compatibility with Ruby 1.9, and the viability of MacRuby as a tool for developing Mac OS X applications. Focus on these aspects took precedence over performance, but I was still curious to see how well it performed when compared to Ruby 1.8.7 and Ruby 1.9, respectively. This article showcases the results of
○○年にリリースされた楽曲でプレイリストを作りたいなと思ったのですが、CDから取り込んだトラックにリリース年が設定されていないものばかり。なので、各トラックにリリース年を設定するものを書いてみました。 MacRubyでScripting Bridgeを使えば簡単そうと思い着手したのですが、Amazonのサイトからリリース年を取得するのにNokogiriは使えないし、あげくにURI.escapeの返す値がバグっていたり。面倒になったので、iTunesから情報を取得&設定する箇所をMacRubyでやって、Amazonから情報を取得する箇所をMac OS Xに最初から入っていたrubyで処理しましたorz さすがに1トラックずつAmazonからデータを取得するのは効率が悪いので、アルバム単位でまとめてリリース年を設定するように変更しました。 itunes_set_track_year.rb #!
Objective-Cだとカテゴリという機能で、Rubyだと特異クラスという機能で既存のクラスにメソッドを追加できたりします。 MacRubyだとRubyのクラスはもちろん、Cocoaのクラスに対してもメソッドを追加できます。 # -*- coding: utf-8 -*- framework "Foundation" # Rubyのクラスにメソッドを追加 class String def hello puts self + " : hello" end end string = "test" string.hello puts "----" number = NSNumber.numberWithInt(100) p number begin p number.to_i rescue puts "Unknown method: to_i" end # Cocoaのクラスにメソッドを追加
何気なくruby 1.9.1(MacPortsでインストールしたもの)とMacRuby 0.5のベンチマークを取ってみたのですが、MacRubyが圧倒的に速くて驚きました。 ベンチマークを計測するのに使用したのは以下のフィボナッチ数列のn項目を求めるコードです。 # -*- coding: utf-8 -*- require "benchmark" def fib(n) raise if(n < 0) return 0 if(n == 0) return 1 if(n == 1) return fib(n - 1) + fib(n - 2) end n = ARGV[0].to_i n ||= 0 result = 0 Benchmark.bm do |x| x.report("fib") { result = fib(n) } end puts "Result = #{result}"
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
Leopardの登場以降、Mac OS Xではスクリプティング言語環境のサポートが活発だ。それは、単に動作環境を標準インストールすることにとどまらず、CocoaやQuartzといった、Mac OS Xネイティブのフレームワークにアクセスする手段が提供されることで、デスクトップアプリケーションを作るための新しい道という位置づけがなされている。Rubyに関するものとしては、RubyからCocoaを含む様々なフレームワークへのブリッジを提供する、RubyCocoaが標準でインストールされている。 そして去る2月28日に、新しいRuby環境が登場した。MacRuby である。MacRubyの動機として挙げられているのは、RubyCocoaが抱えている問題を解決する、というものだ。RubyからCocoaへアクセスするという目的はRubyCocoaと同じものだが、その実装のアプローチはかなりユニークで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く