Skip to content
  • Takashi Kokubun's avatar
    167d1394
    Inline builtin struct aref · 167d1394
    Takashi Kokubun authored
    We don't do this for aset because it might raise a FrozenError.
    
    ```
    $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_struct_aref.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6) [x86_64-linux]
    after: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) [x86_64-linux]
    last_commit=Inline builtin struct aref
    before --jit: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) +JIT [x86_64-linux]
    last_commit=Inline builtin struct aref
    Calculating -------------------------------------
                                 before       after  before --jit  after --jit
    mjit_struct_aref(struct)    34.783M     34.810M       48.321M      58.378M i/s -     40.000M times in 1.149996s 1.149097s 0.827794s 0.685192s
    
    Comparison:
                 mjit_struct_aref(struct)
                 after --jit:  58377836.7 i/s
                before --jit:  48321205.7 i/s - 1.21x  slower
                       after:  34809935.5 i/s - 1.68x  slower
                      before:  34782736.5 i/s - 1.68x  slower
    ```
    167d1394
    Inline builtin struct aref
    Takashi Kokubun authored
    We don't do this for aset because it might raise a FrozenError.
    
    ```
    $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_struct_aref.yml --repeat-count=4
    before: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6) [x86_64-linux]
    after: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) [x86_64-linux]
    last_commit=Inline builtin struct aref
    before --jit: ruby 2.8.0dev (2020-07-06T01:47:11Z master d94ef7c6) +JIT [x86_64-linux]
    after --jit: ruby 2.8.0dev (2020-07-06T07:11:51Z master 85425168f4) +JIT [x86_64-linux]
    last_commit=Inline builtin struct aref
    Calculating -------------------------------------
                                 before       after  before --jit  after --jit
    mjit_struct_aref(struct)    34.783M     34.810M       48.321M      58.378M i/s -     40.000M times in 1.149996s 1.149097s 0.827794s 0.685192s
    
    Comparison:
                 mjit_struct_aref(struct)
                 after --jit:  58377836.7 i/s
                before --jit:  48321205.7 i/s - 1.21x  slower
                       after:  34809935.5 i/s - 1.68x  slower
                      before:  34782736.5 i/s - 1.68x  slower
    ```
Loading