1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool
Takashi Kokubun 151f8be40d
Make JIT-ed leave insn leaf
to eliminate sp / pc moves by cancelling JIT execution on interrupts.

$ benchmark-driver benchmark.yml -v --rbenv 'before --jit;after --jit' --repeat-count=12 --output=all
before --jit: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-04-01T04:58:01Z master 39beb26a27) +JIT [x86_64-linux]
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    75.06409603894944     76.06422026555558 fps
                            75.12025067279242     78.48161731616810
                            77.42020273492177     79.78958240950033
                            79.07253675128945     79.88645902325614
                            79.99179109732327     80.33743931749331
                            80.07633091008627     80.53790081529166
                            80.15450942667547     80.99048270668010
                            80.48372803283709     81.70497146081003
                            80.57410149187352     82.79494539467382
                            81.80449157081202     82.85797792223954
                            82.24629397834902     83.00603891515506
                            82.63708148686703     83.23221006969828

$ benchmark-driver -v --rbenv 'before;before --jit;after --jit' benchmark/mjit_leave.yml --repeat-count=4
before: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) [x86_64-linux]
before --jit: ruby 2.8.0dev (2020-04-01T03:48:56Z master 5a81562dfe) +JIT [x86_64-linux]
after --jit: ruby 2.8.0dev (2020-04-01T04:58:01Z master 39beb26a27) +JIT [x86_64-linux]
Calculating -------------------------------------
                         before  before --jit  after --jit
          mjit_leave   106.656M       82.786M      91.635M i/s -    200.000M times in 1.875183s 2.415881s 2.182569s

Comparison:
                       mjit_leave
              before: 106656239.9 i/s
         after --jit:  91635143.7 i/s - 1.16x  slower
        before --jit:  82785537.2 i/s - 1.29x  slower
2020-03-31 22:10:16 -07:00
..
lib Migrate {assert,refute}_patch_exits for compatibility with Minitest5 2020-03-30 21:32:26 +09:00
m4 do not assume GCC for __builtin_setjmp 2020-02-06 11:46:51 +09:00
ruby_vm Make JIT-ed leave insn leaf 2020-03-31 22:10:16 -07:00
test MiniTest::Unit.options has default :seed 2020-02-27 04:06:28 +09:00
actions-commit-info.sh Try to use set-output 2019-12-11 14:03:30 +09:00
asm_parse.rb
bisect.sh
build-transcode
checksum.rb
colors
darwin-cc
downloader.rb Use https for downloading Unicode data. 2020-03-09 13:39:23 +09:00
enc-emoji-citrus-gen.rb
enc-emoji4unicode.rb
enc-unicode.rb
eval.rb
expand-config.rb
extlibs.rb
fake.rb
fetch-bundled_gems.rb Try with and without "v" prefix for numeric tag 2020-02-24 12:40:34 +09:00
file2lastrev.rb
format-release fix typo 2019-12-25 17:01:26 +09:00
gem-unpack.rb Remove unneeded exec bits from some files 2019-11-09 21:36:30 +09:00
gen-mailmap.rb Use CDN instead of raw.githubusercontent.com 2019-12-16 16:59:23 +09:00
gen_dummy_probes.rb
gen_ruby_tapset.rb
generic_erb.rb
git-refresh
gperf.sed
id2token.rb
ifchange
insns2vm.rb
install-sh
leaked-globals st.c: Use rb_st_* prefix instead of st_* (#2479) 2019-09-22 22:12:18 +09:00
make-snapshot make-snapshot: fixed mode 2019-12-23 10:10:23 +09:00
make_hgraph.rb
mdoc2man.rb
merger.rb Add github repo to remove_tag 2019-11-22 19:05:58 +09:00
mjit_archflag.sh
mjit_tabs.rb Make file names and variable names consistent 2020-03-23 22:33:01 -07:00
mk_builtin_binary.rb Update tool/mk_builtin_binary.rb 2019-12-11 11:24:42 +09:00
mk_builtin_loader.rb Separate builtin initialization calls 2019-12-29 12:34:55 +09:00
mk_call_iseq_optimized.rb Introduce disposable call-cache. 2020-02-22 09:58:59 +09:00
mkconfig.rb [DOC] Updated module name [ci skip] 2020-03-30 15:53:55 +09:00
mkrunnable.rb
node_name.rb
parse.rb
prereq.status
probes_to_wiki.rb
pure_parser.rb Workaround for bison provided by scoop on mswin environment 2020-02-15 21:20:25 +09:00
rbinstall.rb Do not make disabled directories at installation [Bug #12392] 2020-03-16 17:26:10 +09:00
rbuninstall.rb
redmine-backporter.rb tool/redmine-backporter.rb: fix typo 2020-03-13 22:27:54 +09:00
release.sh fix version regexp 2019-12-25 18:02:53 +09:00
rmdirs
run-gcov.rb
run-lcov.rb
runruby.rb
strip-rdoc.rb
sync_default_gems.rb The upstream repository of bundler was changed rubygems/rubygems now. 2020-03-16 19:28:52 +09:00
test-bundled-gems.rb Test bundled gems with timeout 2020-01-19 11:35:10 +09:00
test-coverage.rb
transcode-tblgen.rb more on NULL versus functions. 2020-02-07 14:24:19 +09:00
transform_mjit_header.rb Try asserting no static decl rather than warning 2020-03-22 15:49:55 -07:00
travis_retry.sh
update-deps remove prelude.c 2019-12-11 11:24:42 +09:00
vtlh.rb
ytab.sed