いけむランド

はてダからやってきました

Ruby 2.6.3 on x86_64-cygwin

令和とともに Ruby 2.6.3 のバイナリパッケージが cygwin 公式からリリースされたので適当にいじってみた。

www.mail-archive.com

$ /usr/bin/ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-cygwin]

JIT が動くのか試してみる。サンプルコード 15a.rb は以下の記事より。

techracho.bpsinc.jp

$ /usr/bin/time ruby --jit 15a.rb
      0 [main] ruby 20353 child_info_fork::abort: unable to map \??\C:\cygwin64\tmp\_ruby_mjit_p20344u107.so (using C:\cygwin64\tmp\_ruby_mjit_p20344u107.so), Win32 error 126
      0 [main] ruby 20354 child_info_fork::abort: unable to map \??\C:\cygwin64\tmp\_ruby_mjit_p20344u107.so (using C:\cygwin64\tmp\_ruby_mjit_p20344u107.so), Win32 error 126
      0 [main] ruby 20355 child_info_fork::abort: unable to map \??\C:\cygwin64\tmp\_ruby_mjit_p20344u107.so (using C:\cygwin64\tmp\_ruby_mjit_p20344u107.so), Win32 error 126
{:result=>600}
      0 [main] ruby 20356 child_info_fork::abort: unable to map \??\C:\cygwin64\tmp\_ruby_mjit_p20344u107.so (using C:\cygwin64\tmp\_ruby_mjit_p20344u107.so), Win32 error 126
0.31user 0.23system 0:09.70elapsed 5%CPU (0avgtext+0avgdata 215620maxresident)k
0inputs+0outputs (57784major+0minor)pagefaults 0swaps

$ /usr/bin/time ruby 15a.rb
{:result=>600}
11.71user 0.09system 0:11.87elapsed 99%CPU (0avgtext+0avgdata 19508maxresident)k
0inputs+0outputs (5031major+0minor)pagefaults 0swaps

cygwin がエラーを吐いてるけど、とりあえずは動いている感じ。jit なしよりも一応速い模様。