@ledsun blog

無味の味は佳境に入らざればすなわち知れず

2022-09-01から1ヶ月間の記事一覧

ruby/debugをつかってみる

rubykaigi.org を見ました。 良い機会なのでruby/debugを素振りしてみます。 次のRubyスクリプトを書きます。 require 'debug' def baz n n end def bar n baz n end def foo n bar n end binding.b result = foo(100) p result 実行してみましょう。 ledsun…

Ruby複数の実装でたらい回しベンチマーク

sumim.hatenablog.com の追試です。 複数のRuby実装で速さの違いを比べてみます。 スクリプト require 'benchmark' def tak(x, y, z) if x > y then tak(tak(x-1, y, z), tak(y-1, z, x), tak(z-1, x, y)) else y end end Benchmark.bm do |x| x.report do t…

Ruby 3.2.0-preview2

rbevnとruby-buildを使ってRuby 3.2.0-preview2をインストールします。 ledsun@MSI:~►rbenv install 3.2.0-preview2 To follow progress, use 'tail -f /tmp/ruby-build.20220909111902.4631.log' or pass --verbose Downloading ruby-3.2.0-preview2.tar.gz…

もののついでにjRubyでもπを繰り返し計算してみる

JITが効くまでに時間が掛かるのではないか? - @ledsun blog でTruffleRubyを計測したスクリプトがあります。 そのまま流用してjRubyも計測してみます。 スクリプト require "bigdecimal" require "benchmark" def pi prec = 100 conv = 3 a = BigDecimal("1…

MJITとYJITはπの計算には効かないらしい

JITが効くまでに時間が掛かるのではないか? - @ledsun blog で、TruffleRubyはJITが効くまでに40秒の実行時間が必要という仮説を立てました。 YJITやMJITではどうなるのでしょうか? 次のスクリプトを実行して計測してみます。 require "bigdecimal" requir…

TruffleRubyのスイートスポットはどこ?

JITが効くまでに時間が掛かるのではないか? - @ledsun blog でπを1万回計算したらTruffleRubyがCRubyより速く動きました。 一旦TruffleRubyが速くなったら、計算回数をもっと増やしたらTruffleRubyがもっと速く動くことが期待できます。 50000回計算を試し…

JITが効くまでに時間が掛かるのではないか?

いろいろなRubyでπを計算して速さを比べる - @ledsun blog で比較したところTruffle RubyよりCRubyの方がずっと速かったです。 なぜでしょうか? 例えば Ruby 3.0のJITの特性 - @ledsun blog でCRuby 3.0 の MJIT を試した時は実行時間が20秒を超えたあたり…

いろいろなRubyでπを計算して速さを比べる

計測用のスクリプト require "bigdecimal" require "benchmark" Benchmark.bmbm do |x| x.report do prec = 100 conv = 3 a = BigDecimal("1") b = BigDecimal("1") / BigDecimal("2").sqrt(prec) t = BigDecimal("1") / 4 p = BigDecimal("1") for n in 1..…

jRubyでπを計算する

Rubyでπを計算する - @ledsun blog でπを計算するRubyスクリプトが動くことがわかりました。 WSLにjRubyをインストールしてみる - @ledsun blog で設定したjRubyで動かしてみます。 ledsun@MSI:~/ruby-pi►rbenv local jruby-9.3.7.0 ledsun@MSI:~/ruby-pi►ru…

Rubyでπを計算する

jRubyが並列に動くのか確かめたいです。 CPUバウンドな時間が掛かる処理があるといいはず。 計算に時間が掛かる処理と言えばπの計算です。 BigMath::PIより早く円周率を計算する - Qiitaを参考にして、Rubyでπを計算してみます。 require "bigdecimal" requi…

VPN接続するとWSL内でgitが使えなくて困っていたところを通りすがりの同僚に助けてもらった話

同僚に次のブログを教えてもらいました。 blog.jicoman.info 初めてこの現象に出会ったときは、VPN接続が必要なgitリポジトリが相手でした。 なんとなくそういうもんかな?と思ってスルーしました。 スルーというかMac端末で作業を進めることにしました。 そ…

WSLにjRubyをインストールしてみる

Ubuntu にrbenvを使ってrubyとjrubyをインストールする方法 - Qiita を参考にします。 rbenvはインストール済みです。 ledsun@MSI:~[1]►rbenv --version rbenv 1.2.0-1-g6cc7bff Javaもインストールされています。 ledsun@MSI:~►java --version openjdk 11.0…

底辺領主の勘違い英雄譚 6

底辺領主の勘違い英雄譚 6 (ガルドコミックス)作者:ぱらボら,馬路まんじ,ファルまろオーバーラップAmazon 相変わらず自由です。 表紙の見慣れない女性キャラ誰?って思いました。 一見普通だし、とびぬけておかしなことをやっているわけでもなく、 ただただ …

おっさん、勇者と魔王を拾う

おっさん、勇者と魔王を拾う@COMIC第5巻 (コロナ・コミックス)作者:白川祐,チョコカレー,ハル犬TOブックスAmazon なろう小説のコミカライズです。 作画の方がやけに漫画を描くことになれているのが印象的です。 那州雪絵さんのようです。 絵柄はちょっとやわ…