MDArrayを試してみました
はじめに
「NArrayっぽいやつをいろいろ試しました - ござるのブログ」に続いて、JRubyのMDArrayも試してみました。
実行環境は以下の通りです。
- MacBook Pro (Late 2013)
- OS X El Capitan 10.11.5
- rbenvで入れたJRuby 9.1.2.0
MDArray 0.6.1.2
MDArray は、JRuby用の多次元配列です。NumPyや旧NArray にinspireされたものだそうです。
require 'mdarray' require 'benchmark' SIZE = 16384 Benchmark.bmbm do |x| x.report do r = Random.new a = MDArray.fromfunction('double', [SIZE, SIZE]) { r.rand } b = MDArray.fromfunction('double', [SIZE, SIZE]) { r.rand } c = a * b end end
実行結果
Error: Your application used more memory than the safety cap of 500M.
メモリが足りないと言われました。-J-Xmx12G
というオプションを付けて再実行します。
user system total real 71.180000 3.840000 75.020000 ( 73.881698)
おわりに
やはり乱数を生成してセットするところが遅いようです。