[ruby-cvs:71829] shyouhei:r64737 (trunk): move ADD_PC around (take 2)

shyouhei at ruby-lang.org shyouhei at ruby-lang.org
Fri Sep 14 16:44:44 JST 2018


shyouhei	2018-09-14 16:44:44 +0900 (Fri, 14 Sep 2018)

  New Revision: 64737

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64737

  Log:
    move ADD_PC around (take 2)
    
    Now that we can say for sure if an instruction calls a method or
    not internally, it is now possible to reroute the bugs that
    forced us to revert the "move PC around" optimization.
    
    First try: r62051
    Reverted:  r63763
    See also:  r63999
    
    ----
    
    trunk: ruby 2.6.0dev (2018-09-13 trunk 64736) [x86_64-darwin15]
    ours: ruby 2.6.0dev (2018-09-13 trunk 64736) [x86_64-darwin15]
    last_commit=move ADD_PC around (take 2)
    Calculating -------------------------------------
                               trunk        ours
             so_ackermann      1.884       2.278 i/s -       1.000 times in 0.530926s 0.438935s
                 so_array      1.178       1.157 i/s -       1.000 times in 0.848786s 0.864467s
          so_binary_trees      0.176       0.177 i/s -       1.000 times in 5.683895s 5.657707s
           so_concatenate      0.220       0.221 i/s -       1.000 times in 4.546896s 4.518949s
           so_count_words      6.729       6.470 i/s -       1.000 times in 0.148602s 0.154561s
             so_exception      3.324       3.688 i/s -       1.000 times in 0.300872s 0.271147s
              so_fannkuch      0.546       0.968 i/s -       1.000 times in 1.831328s 1.033376s
                 so_fasta      0.541       0.547 i/s -       1.000 times in 1.849923s 1.827091s
          so_k_nucleotide      0.800       0.777 i/s -       1.000 times in 1.250635s 1.286295s
                 so_lists      2.101       1.848 i/s -       1.000 times in 0.475954s 0.541095s
            so_mandelbrot      0.435       0.408 i/s -       1.000 times in 2.299328s 2.450535s
                so_matrix      1.946       1.912 i/s -       1.000 times in 0.513872s 0.523076s
        so_meteor_contest      0.311       0.317 i/s -       1.000 times in 3.219297s 3.152052s
                 so_nbody      0.746       0.703 i/s -       1.000 times in 1.339815s 1.423441s
           so_nested_loop      0.899       0.901 i/s -       1.000 times in 1.111767s 1.109555s
                so_nsieve      0.559       0.579 i/s -       1.000 times in 1.787763s 1.726552s
           so_nsieve_bits      0.435       0.428 i/s -       1.000 times in 2.296282s 2.333852s
                so_object      1.368       1.442 i/s -       1.000 times in 0.731237s 0.693684s
          so_partial_sums      0.616       0.546 i/s -       1.000 times in 1.623592s 1.833097s
              so_pidigits      0.831       0.832 i/s -       1.000 times in 1.203117s 1.202334s
                so_random      2.934       2.724 i/s -       1.000 times in 0.340791s 0.367150s
    so_reverse_complement      0.583       0.866 i/s -       1.000 times in 1.714144s 1.154615s
                 so_sieve      1.829       2.081 i/s -       1.000 times in 0.546607s 0.480562s
          so_spectralnorm      0.524       0.558 i/s -       1.000 times in 1.908716s 1.792382s

  Modified files:
    trunk/gc.c
    trunk/insns.def
    trunk/tool/ruby_vm/views/_insn_entry.erb
    trunk/tool/ruby_vm/views/_mjit_compile_insn_body.erb
    trunk/vm_insnhelper.h


More information about the ruby-cvs mailing list