A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/vnmakarov/ruby below:

vnmakarov/ruby: The Ruby Programming Language

The project became dormant as IMHO YJIT is moving into the right direction and competition with YJIT is not reasonable anymore. Please feel free to use any ideas and code if you need this.

Update May 2022: sir-mirjit-base and sir-mirjit branches were merged with May 2023 ruby trunk.

        sir_{plus,minus,mult,div,mod,or,and,eq,neq,lt,gt,le,ge,aref,aset}s{s,v,i}{s,v,i}
where suffix `s` means value on stack, `v` means local variable value, `i` means immediate value.
Some suffix combinations (like `vii`, `sii`, `sss`) are not permitted.
        sir_i{plus,minus,mult,div,mod,or,and,eq,neq,lt,gt,le,ge,aref,aset}{s,v}{s,v,i}{s,v,i}
        sir_f{plus,minus,mult,div,mod,eq,neq,lt,gt,le,ge}s{s,v,i}{s,v,i}
        sir_ib{eq,neq,lt,gt,le,ge}{s,v,i}{s,v,i}
where `i` after prefix `sir_` means fixnum insns, and `f` means flonum insns
        sir_si{plus,minus,mult,div,mod,or,and,eq,neq,lt,gt,le,ge,aref,aset}s{s,v,i}{s,v,i}
        sir_sf{plus,minus,mult,div,mod,eq,neq,lt,gt,le,ge}s{s,v,i}{s,v,i}
where `i` after prefix `sir_` means fixnum insns, and `f` means flonum insns

Current state of the project
      cd sir-bench
      taskset -cpu-list <a cpu-number> ruby compare.rb "<list ruby benchmarks from sir-bench>" base:../miniruby sir:'../miniruby --sir' yjit:'../miniruby --yjit' ...
  * use `taskset` as modern CPUs can have cores of different speed
* clone [optcarrot](https://github.com/mame/optcarrot) from github and run it:
      cd sir-bench
      ../miniruby [--sir|--yjit|...]  -v -Ilib -r<path-to-optcarrot>/tools/shim <path-to-optcarrot>/bin/optcarrot --benchmark [--opt] -f=3000 <path-to-optcarrot>/examples/Lan_Master.nes
Major differences between MIRJIT and YJIT Ideas to improve MIRJIT generated code more The current performance SIR interpreter and MIRJIT Micro-benchmark results (May 11, 2023)

Elapsed time:

base sir yjit mir aread.rb 1.0 3.74 7.21 8.78 aref.rb 1.0 3.76 5.06 9.24 aset.rb 1.0 3.41 3.12 8.91 awrite.rb 1.0 4.44 3.2 10.09 bench.rb 1.0 1.19 1.63 1.17 call.rb 1.0 2.1 4.82 4.87 complex-mandelbrot.rb 1.0 1.16 1.48 1.16 const2.rb 1.0 2.47 2.66 6.66 const.rb 1.0 2.46 2.66 6.7 fannk.rb 1.0 1.15 1.0 1.22 fib.rb 1.0 1.94 5.63 3.86 ivread.rb 1.0 2.19 6.22 3.54 ivwrite.rb 1.0 2.86 5.57 5.44 mandelbrot.rb 1.0 1.43 1.91 1.78 meteor.rb 1.0 1.29 1.35 1.25 nbody.rb 1.0 1.3 1.8 1.69 nest-ntimes.rb 1.0 2.06 1.3 1.96 nest-while.rb 1.0 3.53 0.99 10.24 norm.rb 1.0 1.67 2.13 2.2 pent.rb 1.0 1.11 1.31 0.9 red-black.rb 1.0 1.39 3.84 1.77 sieve.rb 1.0 2.41 1.25 3.15 trees.rb 1.0 1.38 2.23 1.48 while.rb 1.0 2.23 5.66 9.85 GeoMean. 1.0 2.0 2.55 3.28 base sir yjit mir GeoMean. 1.0 1.21 1.03 2.41 base sir yjit mir optcarrot 82.4 105.0 262.1 123.1 optcarrot --opt 211.5 356.4 232.9 416.4

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4