Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YJIT: Profile instructions #541

Closed
k0kubun opened this issue Oct 5, 2023 · 0 comments
Closed

YJIT: Profile instructions #541

k0kubun opened this issue Oct 5, 2023 · 0 comments

Comments

@k0kubun
Copy link
Member

k0kubun commented Oct 5, 2023

Similar to #540, this issue profiled JIT code generated for each instruction using perf record -F max -e cycles and JIT interface.

The following numbers show the number of sampled cycles where each instruction is being executed. The percentage is from the number divided by JITed cycles.

Instructions with a higher % would have a higher performance impact when you optimize them.

at: ruby@d66e4aaaaa

activerecord

total cycles: 42667388940
JITed cycles: 5870055473 (13.8%)
[JIT] opt_send_without_block      33.4% 1962870586
[unknown]                         13.7% 802411813
[JIT] send                         6.3% 371468206
[JIT] leave                        6.2% 363598635
[JIT] opt_aref                     6.1% 360685704
[JIT] getlocal_WC_0                5.4% 314885267
[JIT] getinstancevariable          3.6% 211018785
[JIT] definedivar                  3.2% 184979951
[JIT] setinstancevariable          3.0% 174670479
[JIT] setlocal_WC_0                3.0% 174594852
[JIT] invokeblock                  2.2% 129567261
[JIT] getlocal_WC_1                1.4% 81274739
[JIT] invokesuper                  1.2% 71638469
[JIT] opt_aset                     1.2% 69786225
[JIT] opt_getconstant_path         1.2% 68770953
[JIT] opt_empty_p                  1.1% 65483283
[JIT] opt_nil_p                    1.0% 58495659
[JIT] branchunless                 0.7% 41101217
[JIT] branchif                     0.6% 36063112
[JIT] getlocal                     0.6% 33879329
[JIT] getblockparamproxy           0.6% 33087226
[JIT] opt_length                   0.5% 27700835
[JIT] putself                      0.4% 25412513
[JIT] dup                          0.4% 21830783
[JIT] opt_neq                      0.3% 20251515
[JIT] putobject                    0.3% 18521967
[JIT] objtostring                  0.3% 17880993
[JIT] opt_eq                       0.3% 16222793
[JIT] anytostring                  0.2% 12384115
[JIT] putobject_INT2FIX_1_         0.2% 11629351
[JIT] opt_lt                       0.2% 11213729
[JIT] getspecial                   0.2% 10163698
[JIT] opt_invokebuiltin_delegate   0.1% 8509072
[JIT] opt_le                       0.1% 8466974
[JIT] opt_plus                     0.1% 6963778
[JIT] expandarray                  0.1% 6172844
[JIT] opt_regexpmatch2             0.1% 5270122
[JIT] newhash                      0.1% 4894572
[JIT] getclassvariable             0.1% 3272342
[JIT] putnil                       0.1% 3199534
[JIT] splatarray                   0.0% 2634702
[JIT] opt_not                      0.0% 2145581
[JIT] putobject_INT2FIX_0_         0.0% 2070507
[JIT] dupn                         0.0% 2031704
[JIT] concatstrings                0.0% 1995195
[JIT] jump                         0.0% 1882011
[JIT] setlocal_WC_1                0.0% 1430975
[JIT] opt_str_freeze               0.0% 1279681
[JIT] newarray                     0.0% 941154
[JIT] checkkeyword                 0.0% 903780
[JIT] branchnil                    0.0% 640164
[JIT] throw                        0.0% 527182
[JIT] duparray                     0.0% 413686
[JIT] topn                         0.0% 376586
[JIT] putspecialobject             0.0% 376313
[JIT] setn                         0.0% 112971

chunky-png

total cycles: 16303471962
JITed cycles: 1729583068 (10.6%)
[JIT] opt_send_without_block            33.3% 575181918
[JIT] getlocal_WC_0                     11.7% 201994552
[unknown]                                8.9% 153084313
[JIT] getlocal_WC_1                      7.6% 130975838
[JIT] opt_nil_p                          6.5% 112729700
[JIT] opt_plus                           5.5% 95684949
[JIT] opt_aref                           5.1% 88842314
[JIT] leave                              4.6% 80422318
[JIT] opt_ltlt                           3.6% 61805912
[JIT] opt_minus                          2.7% 46328377
[JIT] opt_or                             2.4% 41641755
[JIT] opt_and                            1.7% 30103211
[JIT] branchunless                       1.3% 23195375
[JIT] setlocal_WC_0                      1.3% 21670135
[JIT] putself                            1.2% 21220041
[JIT] getinstancevariable                0.8% 13872801
[JIT] opt_le                             0.5% 9068661
[JIT] putobject                          0.3% 5674211
[JIT] send                               0.3% 5567397
[JIT] opt_gt                             0.2% 4323233
[JIT] opt_mult                           0.1% 1504155
[JIT] opt_invokebuiltin_delegate_leave   0.1% 1421081
[JIT] putobject_INT2FIX_1_               0.1% 939681
[JIT] putobject_INT2FIX_0_               0.0% 789880
[JIT] newarray                           0.0% 263314
[JIT] opt_ge                             0.0% 188164
[JIT] objtostring                        0.0% 188022
[JIT] concatstrings                      0.0% 112904
[JIT] opt_size                           0.0% 112816
[JIT] opt_eq                             0.0% 112802
[JIT] opt_getconstant_path               0.0% 112736
[JIT] topn                               0.0% 75206
[JIT] setinstancevariable                0.0% 75143
[JIT] branchif                           0.0% 75142
[JIT] opt_lt                             0.0% 74644
[JIT] dup                                0.0% 37618
[JIT] opt_aset                           0.0% 37599
[JIT] invokesuper                        0.0% 37593
[JIT] getlocal                           0.0% 37557

erubi-rails

total cycles: 42410613801
JITed cycles: 5456701388 (12.9%)
[JIT] opt_send_without_block      35.0% 1908851479
[unknown]                         18.8% 1023493282
[JIT] getinstancevariable          5.6% 304672819
[JIT] leave                        5.2% 283354467
[JIT] getlocal_WC_0                4.1% 225211466
[JIT] invokesuper                  3.8% 209753771
[JIT] opt_aref                     3.8% 208684978
[JIT] definedivar                  3.7% 201012806
[JIT] send                         3.2% 172102740
[JIT] setinstancevariable          2.2% 118878105
[JIT] opt_nil_p                    2.1% 113256409
[JIT] setlocal_WC_0                1.6% 87046602
[JIT] invokeblock                  1.0% 55656763
[JIT] opt_getconstant_path         1.0% 52505004
[JIT] opt_empty_p                  0.9% 51758277
[JIT] getlocal                     0.8% 45084087
[JIT] putself                      0.8% 43208901
[JIT] getlocal_WC_1                0.8% 41441169
[JIT] dup                          0.7% 36203251
[JIT] opt_invokebuiltin_delegate   0.6% 34962162
[JIT] putobject                    0.4% 22581697
[JIT] branchunless                 0.4% 22579456
[JIT] objtostring                  0.4% 22169493
[JIT] putnil                       0.3% 18143849
[JIT] getclassvariable             0.3% 16820582
[JIT] opt_str_freeze               0.3% 14266862
[JIT] opt_aset                     0.2% 13246940
[JIT] putstring                    0.2% 13136860
[JIT] branchif                     0.2% 9861223
[JIT] splatarray                   0.1% 7184797
[JIT] getblockparamproxy           0.1% 7038753
[JIT] expandarray                  0.1% 5381686
[JIT] defined                      0.1% 5193593
[JIT] opt_ltlt                     0.1% 5043285
[JIT] anytostring                  0.1% 4893145
[JIT] newhash                      0.1% 4741440
[JIT] opt_and                      0.1% 4405353
[JIT] opt_minus                    0.1% 4178427
[JIT] opt_size                     0.1% 3650853
[JIT] newarray                     0.1% 3426637
[JIT] setlocal_WC_1                0.1% 3425790
[JIT] concatstrings                0.1% 2898929
[JIT] opt_mult                     0.1% 2745570
[JIT] opt_eq                       0.0% 2710029
[JIT] opt_lt                       0.0% 2447366
[JIT] putobject_INT2FIX_1_         0.0% 2446785
[JIT] opt_succ                     0.0% 2070693
[JIT] opt_neq                      0.0% 1505320
[JIT] opt_gt                       0.0% 1430587
[JIT] opt_not                      0.0% 1392235
[JIT] putobject_INT2FIX_0_         0.0% 1317859
[JIT] opt_or                       0.0% 1054174
[JIT] duparray                     0.0% 978065
[JIT] swap                         0.0% 941196
[JIT] dupn                         0.0% 828173
[JIT] opt_length                   0.0% 677530
[JIT] opt_aref_with                0.0% 677014
[JIT] setn                         0.0% 527277
[JIT] throw                        0.0% 414166
[JIT] checkkeyword                 0.0% 413751
[JIT] getconstant                  0.0% 376592
[JIT] opt_plus                     0.0% 338818

hexapdf

total cycles: 63171142177
JITed cycles: 8412329860 (13.3%)
[JIT] opt_send_without_block            38.2% 3212578715
[JIT] getinstancevariable               10.6% 894755606
[unknown]                                7.3% 612782651
[JIT] setinstancevariable                6.0% 503262810
[JIT] getlocal_WC_0                      4.6% 386330206
[JIT] leave                              4.4% 373641290
[JIT] opt_aref                           3.0% 254782689
[JIT] opt_ltlt                           2.8% 238338912
[JIT] opt_plus                           2.4% 199629513
[JIT] setlocal_WC_0                      2.3% 189527575
[JIT] send                               1.9% 162553850
[JIT] opt_minus                          1.9% 158305194
[JIT] opt_mult                           0.9% 74222837
[JIT] opt_eq                             0.9% 72258739
[JIT] getlocal_WC_1                      0.8% 70877006
[JIT] opt_empty_p                        0.8% 66805902
[JIT] opt_nil_p                          0.8% 66530831
[JIT] branchunless                       0.8% 65220380
[JIT] opt_getconstant_path               0.8% 64918652
[JIT] definedivar                        0.8% 64050921
[JIT] opt_lt                             0.7% 62321561
[JIT] branchif                           0.7% 56790990
[JIT] opt_size                           0.7% 56353953
[JIT] invokeblock                        0.6% 48389226
[JIT] dup                                0.5% 40045639
[JIT] opt_le                             0.5% 38394241
[JIT] opt_neq                            0.4% 30596853
[JIT] putself                            0.4% 30554091
[JIT] opt_gt                             0.3% 28573318
[JIT] setlocal_WC_1                      0.3% 26086715
[JIT] opt_invokebuiltin_delegate         0.3% 25106015
[JIT] setlocal                           0.3% 23335871
[JIT] putobject                          0.3% 22243783
[JIT] opt_div                            0.2% 17841370
[JIT] putobject_INT2FIX_0_               0.2% 16860767
[JIT] expandarray                        0.2% 15620155
[JIT] opt_length                         0.2% 14115037
[JIT] newarray                           0.2% 13468587
[JIT] dupn                               0.2% 12871924
[JIT] opt_aset                           0.1% 10989107
[JIT] opt_not                            0.1% 10874161
[JIT] getlocal                           0.1% 9824290
[JIT] opt_newarray_send                  0.1% 8996849
[JIT] anytostring                        0.1% 8692029
[JIT] objtostring                        0.1% 8164056
[JIT] putnil                             0.1% 7227063
[JIT] concatstrings                      0.1% 7226496
[JIT] putobject_INT2FIX_1_               0.1% 7036765
[JIT] invokesuper                        0.1% 6172283
[JIT] opt_ge                             0.0% 3464941
[JIT] topn                               0.0% 3086235
[JIT] jump                               0.0% 2822108
[JIT] getblockparamproxy                 0.0% 2218895
[JIT] branchnil                          0.0% 1392934
[JIT] setn                               0.0% 864992
[JIT] newhash                            0.0% 526898
[JIT] opt_invokebuiltin_delegate_leave   0.0% 489216
[JIT] getblockparam                      0.0% 338286
[JIT] splatarray                         0.0% 300720
[JIT] throw                              0.0% 225425
[JIT] newrange                           0.0% 188361
[JIT] opt_mod                            0.0% 188071
[JIT] duparray                           0.0% 75304

liquid-c

total cycles: 34578442965
JITed cycles: 2091831565 (6.0%)
[JIT] opt_send_without_block            34.6% 723108165
[unknown]                               12.7% 266343539
[JIT] getinstancevariable                6.8% 141606000
[JIT] getlocal_WC_0                      4.8% 99457860
[JIT] send                               4.2% 87386466
[JIT] leave                              4.1% 86376341
[JIT] setinstancevariable                3.6% 75109907
[JIT] setlocal_WC_0                      3.3% 69698977
[JIT] opt_aref                           3.2% 67887242
[JIT] opt_nil_p                          2.5% 52455490
[JIT] getlocal_WC_1                      2.5% 51631116
[JIT] putobject                          2.1% 43125271
[JIT] opt_aset                           1.6% 33795503
[JIT] objtostring                        1.4% 29657433
[JIT] branchunless                       1.2% 25099808
[JIT] opt_empty_p                        1.1% 23460782
[JIT] opt_eq                             0.9% 18440841
[JIT] opt_length                         0.9% 17800896
[JIT] invokeblock                        0.7% 15203162
[JIT] opt_getconstant_path               0.7% 13622912
[JIT] getlocal                           0.6% 12831622
[JIT] dup                                0.6% 12755361
[JIT] setlocal_WC_1                      0.6% 11740901
[JIT] branchif                           0.5% 11365696
[JIT] opt_ltlt                           0.4% 9145645
[JIT] anytostring                        0.4% 9030970
[JIT] opt_plus                           0.3% 7225651
[JIT] newarray                           0.3% 6849566
[JIT] throw                              0.3% 6321511
[JIT] opt_invokebuiltin_delegate         0.3% 6096168
[JIT] putself                            0.3% 5417251
[JIT] concatstrings                      0.3% 5269397
[JIT] opt_size                           0.2% 4931577
[JIT] opt_div                            0.2% 4778639
[JIT] putobject_INT2FIX_0_               0.2% 4590968
[JIT] newhash                            0.2% 4176801
[JIT] putobject_INT2FIX_1_               0.2% 4065613
[JIT] opt_invokebuiltin_delegate_leave   0.2% 3837703
[JIT] opt_le                             0.1% 2634670
[JIT] opt_regexpmatch2                   0.1% 2370495
[JIT] putnil                             0.1% 2295712
[JIT] opt_neq                            0.1% 2068730
[JIT] opt_not                            0.1% 1994816
[JIT] setn                               0.1% 1655703
[JIT] opt_gt                             0.1% 1278719
[JIT] invokesuper                        0.1% 1204542
[JIT] opt_minus                          0.1% 1129393
[JIT] getclassvariable                   0.0% 1015866
[JIT] splatarray                         0.0% 714796
[JIT] opt_mult                           0.0% 564223
[JIT] opt_lt                             0.0% 376672
[JIT] newrange                           0.0% 226011
[JIT] dupn                               0.0% 226009
[JIT] opt_ge                             0.0% 225873
[JIT] opt_succ                           0.0% 112952
[JIT] topn                               0.0% 37632

liquid-compile

total cycles: 35102783336
JITed cycles: 2304281851 (6.6%)
[JIT] opt_send_without_block      34.5% 794428853
[JIT] getinstancevariable          9.6% 222020150
[JIT] setlocal_WC_0                6.8% 156774914
[unknown]                          6.8% 156012748
[JIT] setinstancevariable          6.7% 155338870
[JIT] getlocal_WC_0                5.9% 136962356
[JIT] opt_aref                     5.0% 115734208
[JIT] opt_empty_p                  3.6% 83796589
[JIT] opt_ltlt                     3.2% 73303258
[JIT] leave                        2.3% 52972381
[JIT] branchunless                 2.0% 46527457
[JIT] opt_eq                       1.7% 40166867
[JIT] branchif                     1.7% 38855918
[JIT] putobject                    1.4% 31248148
[JIT] opt_getconstant_path         1.3% 29213850
[JIT] dup                          0.9% 21236231
[JIT] send                         0.8% 19274201
[JIT] newarray                     0.8% 19238650
[JIT] opt_plus                     0.7% 15846911
[JIT] putobject_INT2FIX_0_         0.7% 15473564
[JIT] opt_neq                      0.6% 13028240
[JIT] opt_regexpmatch2             0.6% 12988231
[JIT] invokeblock                  0.5% 12313194
[JIT] putself                      0.4% 9112799
[JIT] invokesuper                  0.2% 5720982
[JIT] throw                        0.2% 5046261
[JIT] objtostring                  0.2% 3726310
[JIT] topn                         0.1% 2710566
[JIT] getlocal_WC_1                0.1% 2334322
[JIT] anytostring                  0.1% 1655755
[JIT] branchnil                    0.1% 1430643
[JIT] putnil                       0.1% 1430623
[JIT] opt_invokebuiltin_delegate   0.1% 1318288
[JIT] putobject_INT2FIX_1_         0.1% 1241771
[JIT] newhash                      0.0% 1016137
[JIT] concatstrings                0.0% 791083
[JIT] jump                         0.0% 676715
[JIT] opt_aset                     0.0% 640649
[JIT] duparray                     0.0% 564938
[JIT] getblockparamproxy           0.0% 527095
[JIT] getclassvariable             0.0% 526688
[JIT] opt_not                      0.0% 338791
[JIT] opt_ge                       0.0% 301289
[JIT] opt_minus                    0.0% 263695
[JIT] duphash                      0.0% 75350
[JIT] opt_case_dispatch            0.0% 75312

liquid-render

total cycles: 38678711763
JITed cycles: 8468982663 (21.9%)
[JIT] opt_send_without_block            45.3% 3832379781
[JIT] getinstancevariable                8.3% 700021212
[unknown]                                7.0% 596408187
[JIT] send                               6.4% 539990657
[JIT] getlocal_WC_0                      5.5% 461821732
[JIT] leave                              3.6% 305120673
[JIT] setlocal_WC_0                      3.5% 292689394
[JIT] opt_aref                           3.3% 281585397
[JIT] opt_getconstant_path               2.5% 209961691
[JIT] putobject                          1.9% 161517070
[JIT] opt_ltlt                           1.8% 153584288
[JIT] getlocal_WC_1                      1.4% 120341209
[JIT] branchunless                       1.2% 102194023
[JIT] setinstancevariable                1.1% 93605247
[JIT] opt_nil_p                          1.1% 89898622
[JIT] opt_empty_p                        1.0% 81958490
[JIT] setlocal_WC_1                      0.9% 77448887
[JIT] opt_length                         0.5% 45200095
[JIT] branchif                           0.5% 41546310
[JIT] opt_plus                           0.4% 33784771
[JIT] opt_aset                           0.3% 23966175
[JIT] putobject_INT2FIX_1_               0.3% 23822865
[JIT] splatarray                         0.2% 20276271
[JIT] invokeblock                        0.2% 19677143
[JIT] dup                                0.2% 17572961
[JIT] objtostring                        0.2% 17196522
[JIT] putself                            0.2% 17124011
[JIT] opt_eq                             0.2% 14438964
[JIT] getlocal                           0.2% 13059430
[JIT] throw                              0.1% 10758548
[JIT] opt_not                            0.1% 8694106
[JIT] opt_invokebuiltin_delegate         0.1% 6773419
[JIT] newarray                           0.1% 6357439
[JIT] newhash                            0.1% 6246019
[JIT] anytostring                        0.1% 6133820
[JIT] putobject_INT2FIX_0_               0.1% 5947125
[JIT] putnil                             0.1% 4703588
[JIT] concatstrings                      0.0% 4214177
[JIT] opt_div                            0.0% 3536939
[JIT] opt_size                           0.0% 2934332
[JIT] opt_regexpmatch2                   0.0% 2784207
[JIT] opt_invokebuiltin_delegate_leave   0.0% 2445136
[JIT] opt_neq                            0.0% 2069891
[JIT] opt_le                             0.0% 2031231
[JIT] setn                               0.0% 1203492
[JIT] dupn                               0.0% 757325
[JIT] opt_gt                             0.0% 715227
[JIT] getclassvariable                   0.0% 640082
[JIT] invokesuper                        0.0% 451627
[JIT] newrange                           0.0% 376492
[JIT] opt_minus                          0.0% 338749
[JIT] opt_lt                             0.0% 188248
[JIT] opt_mult                           0.0% 188228
[JIT] topn                               0.0% 150531
[JIT] branchnil                          0.0% 37659
[JIT] opt_succ                           0.0% 37656
[JIT] opt_and                            0.0% 37654
[JIT] opt_ge                             0.0% 37638

lobsters

total cycles: 28895596480
JITed cycles: 3419173739 (11.8%)
[JIT] opt_send_without_block            34.9% 1191821985
[unknown]                               18.1% 617899957
[JIT] getinstancevariable                8.3% 284113614
[JIT] getlocal_WC_0                      4.9% 167557430
[JIT] send                               4.8% 163409952
[JIT] leave                              4.4% 150299771
[JIT] opt_aref                           3.8% 128533879
[JIT] setinstancevariable                2.5% 84047125
[JIT] setlocal_WC_0                      1.8% 62609998
[JIT] definedivar                        1.6% 55830771
[JIT] opt_ltlt                           1.4% 49138941
[JIT] opt_getconstant_path               1.3% 45266288
[JIT] opt_nil_p                          1.2% 42281551
[JIT] opt_empty_p                        1.0% 32646189
[JIT] putobject                          0.9% 29711343
[JIT] getlocal_WC_1                      0.8% 27862215
[JIT] invokesuper                        0.8% 27527747
[JIT] invokeblock                        0.8% 25910970
[JIT] dup                                0.7% 25338474
[JIT] branchunless                       0.7% 24405614
[JIT] putself                            0.7% 22480179
[JIT] branchif                           0.5% 16001993
[JIT] opt_eq                             0.5% 15890144
[JIT] opt_aset                           0.4% 15362457
[JIT] expandarray                        0.4% 13931786
[JIT] getblockparamproxy                 0.4% 12386476
[JIT] opt_not                            0.3% 8659110
[JIT] objtostring                        0.2% 7870130
[JIT] opt_neq                            0.2% 7833103
[JIT] opt_plus                           0.1% 5121745
[JIT] opt_invokebuiltin_delegate_leave   0.1% 4518429
[JIT] getlocal                           0.1% 4180162
[JIT] checkkeyword                       0.1% 3088524
[JIT] opt_length                         0.1% 2862509
[JIT] opt_size                           0.1% 2785500
[JIT] newarray                           0.1% 2785190
[JIT] putnil                             0.1% 2334148
[JIT] setlocal_WC_1                      0.1% 2295650
[JIT] defined                            0.1% 2221258
[JIT] anytostring                        0.1% 1996247
[JIT] opt_invokebuiltin_delegate         0.1% 1995118
[JIT] splatarray                         0.0% 1695196
[JIT] opt_gt                             0.0% 1657255
[JIT] newhash                            0.0% 1619562
[JIT] concatstrings                      0.0% 1544187
[JIT] opt_ge                             0.0% 1468912
[JIT] opt_or                             0.0% 1431173
[JIT] opt_and                            0.0% 1356054
[JIT] opt_newarray_send                  0.0% 1355635
[JIT] opt_mult                           0.0% 1243103
[JIT] putobject_INT2FIX_0_               0.0% 1243014
[JIT] putstring                          0.0% 1203691
[JIT] getclassvariable                   0.0% 1129800
[JIT] opt_minus                          0.0% 1129596
[JIT] opt_case_dispatch                  0.0% 1091526
[JIT] opt_regexpmatch2                   0.0% 903068
[JIT] putobject_INT2FIX_1_               0.0% 866444
[JIT] opt_le                             0.0% 753122
[JIT] throw                              0.0% 639613
[JIT] topn                               0.0% 565144
[JIT] setn                               0.0% 527360
[JIT] opt_lt                             0.0% 527339
[JIT] opt_mod                            0.0% 489603
[JIT] getblockparam                      0.0% 376175
[JIT] duphash                            0.0% 263757
[JIT] opt_str_freeze                     0.0% 263671
[JIT] jump                               0.0% 263503
[JIT] dupn                               0.0% 150658
[JIT] opt_succ                           0.0% 112850
[JIT] getspecial                         0.0% 75357
[JIT] opt_div                            0.0% 75324
[JIT] duparray                           0.0% 75319
[JIT] swap                               0.0% 75134
[JIT] setlocal                           0.0% 74968
[JIT] invokebuiltin                      0.0% 37678
[JIT] toregexp                           0.0% 37671
[JIT] branchnil                          0.0% 37605

mail

total cycles: 37964477335
JITed cycles: 2995542245 (7.9%)
[JIT] opt_send_without_block            31.4% 939463330
[JIT] opt_aref                          12.5% 373111673
[unknown]                               10.7% 319962843
[JIT] getlocal_WC_0                      8.0% 238414985
[JIT] getinstancevariable                5.8% 172710773
[JIT] setinstancevariable                3.6% 107250844
[JIT] setlocal_WC_0                      3.2% 94403526
[JIT] leave                              2.4% 72571129
[JIT] opt_le                             2.4% 71371988
[JIT] branchunless                       2.3% 68055634
[JIT] send                               1.8% 53737616
[JIT] opt_ltlt                           1.5% 45045635
[JIT] opt_getconstant_path               1.3% 39390715
[JIT] opt_case_dispatch                  1.3% 38414230
[JIT] objtostring                        1.2% 35318718
[JIT] opt_neq                            1.2% 35060265
[JIT] opt_minus                          0.7% 21201712
[JIT] opt_eq                             0.7% 20751974
[JIT] putself                            0.7% 19659942
[JIT] dup                                0.6% 17810255
[JIT] putobject_INT2FIX_0_               0.5% 16417556
[JIT] opt_length                         0.5% 14911501
[JIT] opt_empty_p                        0.5% 14383964
[JIT] putobject                          0.5% 14197244
[JIT] putobject_INT2FIX_1_               0.4% 11675274
[JIT] opt_not                            0.4% 11184064
[JIT] branchif                           0.4% 11183307
[JIT] opt_lt                             0.4% 10996377
[JIT] opt_gt                             0.4% 10620446
[JIT] opt_plus                           0.3% 10244295
[JIT] opt_regexpmatch2                   0.3% 9979441
[JIT] invokesuper                        0.3% 9151609
[JIT] anytostring                        0.3% 8963479
[JIT] opt_invokebuiltin_delegate         0.3% 7608081
[JIT] jump                               0.2% 6554425
[JIT] getlocal_WC_1                      0.2% 6516488
[JIT] opt_nil_p                          0.2% 4633163
[JIT] expandarray                        0.1% 3991990
[JIT] getblockparamproxy                 0.1% 3499562
[JIT] concatstrings                      0.1% 3389820
[JIT] newarray                           0.1% 3125420
[JIT] definedivar                        0.1% 3088550
[JIT] toregexp                           0.1% 2298069
[JIT] newrange                           0.1% 1846022
[JIT] putnil                             0.0% 1468787
[JIT] opt_invokebuiltin_delegate_leave   0.0% 1468704
[JIT] opt_aset                           0.0% 1356195
[JIT] splatarray                         0.0% 1280005
[JIT] opt_size                           0.0% 1243183
[JIT] getspecial                         0.0% 1017283
[JIT] setn                               0.0% 715844
[JIT] invokeblock                        0.0% 602184
[JIT] getclassvariable                   0.0% 414452
[JIT] duparray                           0.0% 339065
[JIT] getconstant                        0.0% 301398
[JIT] newhash                            0.0% 301321
[JIT] opt_mod                            0.0% 225586
[JIT] opt_succ                           0.0% 188401
[JIT] checkmatch                         0.0% 150660
[JIT] setlocal_WC_1                      0.0% 112974
[JIT] defined                            0.0% 75382
[JIT] setclassvariable                   0.0% 37674
[JIT] getglobal                          0.0% 37657
[JIT] opt_and                            0.0% 37556

psych-load

total cycles: 55699878850
JITed cycles: 5462546811 (9.8%)
[JIT] opt_send_without_block            40.3% 2203561301
[JIT] setinstancevariable               13.2% 718392991
[JIT] getlocal_WC_0                      8.4% 457318425
[JIT] getinstancevariable                6.0% 325911182
[JIT] leave                              4.5% 243925607
[JIT] opt_empty_p                        4.2% 230167529
[unknown]                                4.1% 222425091
[JIT] setlocal_WC_0                      3.1% 169864648
[JIT] invokesuper                        2.3% 125716885
[JIT] putself                            2.1% 113843155
[JIT] opt_aref                           2.0% 111211593
[JIT] opt_length                         1.6% 89842415
[JIT] opt_not                            1.6% 87058469
[JIT] opt_eq                             1.3% 70302203
[JIT] branchif                           0.9% 51474441
[JIT] branchunless                       0.8% 43274410
[JIT] opt_aset                           0.7% 37999560
[JIT] opt_ltlt                           0.6% 31223894
[JIT] opt_getconstant_path               0.5% 24840227
[JIT] putnil                             0.5% 24697651
[JIT] putobject                          0.4% 24135717
[JIT] send                               0.3% 18262752
[JIT] dup                                0.3% 14387846
[JIT] getlocal_WC_1                      0.2% 10507491
[JIT] opt_invokebuiltin_delegate         0.1% 5462348
[JIT] opt_gt                             0.0% 2635109
[JIT] newarray                           0.0% 1731246
[JIT] newhash                            0.0% 1205375
[JIT] setn                               0.0% 1054232
[JIT] opt_invokebuiltin_delegate_leave   0.0% 75341
[JIT] getblockparamproxy                 0.0% 37677

railsbench

total cycles: 51964498997
JITed cycles: 6445101426 (12.4%)
[JIT] opt_send_without_block      30.6% 1971979878
[unknown]                         20.5% 1324383345
[JIT] getinstancevariable          6.3% 407747885
[JIT] opt_aref                     5.4% 347716557
[JIT] getlocal_WC_0                5.3% 343435546
[JIT] leave                        5.0% 321585434
[JIT] send                         4.3% 278895523
[JIT] setinstancevariable          2.5% 164307838
[JIT] opt_getconstant_path         2.5% 162488500
[JIT] setlocal_WC_0                2.2% 142774586
[JIT] invokesuper                  1.5% 94788560
[JIT] invokeblock                  1.2% 77786278
[JIT] definedivar                  1.1% 69752091
[JIT] opt_empty_p                  1.0% 62274369
[JIT] putobject                    0.9% 55427632
[JIT] opt_aset                     0.8% 54009942
[JIT] getlocal_WC_1                0.8% 49301926
[JIT] putself                      0.8% 49177903
[JIT] dup                          0.7% 45843150
[JIT] opt_invokebuiltin_delegate   0.7% 45160328
[JIT] opt_nil_p                    0.6% 38948028
[JIT] branchunless                 0.5% 32130336
[JIT] opt_eq                       0.5% 30894781
[JIT] branchif                     0.5% 29580108
[JIT] objtostring                  0.4% 27700472
[JIT] getblockparamproxy           0.4% 24757584
[JIT] getlocal                     0.4% 23940665
[JIT] opt_ltlt                     0.3% 22050917
[JIT] getclassvariable             0.2% 14298951
[JIT] opt_not                      0.2% 11949759
[JIT] expandarray                  0.2% 11815186
[JIT] splatarray                   0.1% 9333908
[JIT] newarray                     0.1% 8694972
[JIT] opt_neq                      0.1% 8197803
[JIT] newhash                      0.1% 7792032
[JIT] opt_plus                     0.1% 7602911
[JIT] anytostring                  0.1% 6848740
[JIT] opt_length                   0.1% 5569710
[JIT] putobject_INT2FIX_1_         0.1% 5081840
[JIT] putnil                       0.1% 4742239
[JIT] concatstrings                0.1% 4064736
[JIT] opt_size                     0.1% 3839084
[JIT] setn                         0.1% 3762631
[JIT] opt_regexpmatch2             0.0% 3085927
[JIT] opt_str_freeze               0.0% 2821698
[JIT] opt_lt                       0.0% 2447713
[JIT] opt_and                      0.0% 2334221
[JIT] opt_minus                    0.0% 2145173
[JIT] setlocal                     0.0% 1919979
[JIT] opt_newarray_send            0.0% 1693665
[JIT] dupn                         0.0% 1693365
[JIT] putstring                    0.0% 1506486
[JIT] getspecial                   0.0% 1355401
[JIT] opt_succ                     0.0% 1317462
[JIT] getblockparam                0.0% 1280081
[JIT] defined                      0.0% 1013812
[JIT] throw                        0.0% 790229
[JIT] opt_mod                      0.0% 788949
[JIT] checkkeyword                 0.0% 752063
[JIT] opt_mult                     0.0% 677683
[JIT] opt_or                       0.0% 639907
[JIT] getconstant                  0.0% 602211
[JIT] duparray                     0.0% 526158
[JIT] setlocal_WC_1                0.0% 489350
[JIT] opt_le                       0.0% 338629
[JIT] concatarray                  0.0% 301199
[JIT] putspecialobject             0.0% 300961
[JIT] branchnil                    0.0% 300629
[JIT] swap                         0.0% 263713
[JIT] opt_gt                       0.0% 225961
[JIT] opt_ge                       0.0% 225921
[JIT] putobject_INT2FIX_0_         0.0% 225893
[JIT] topn                         0.0% 225857
[JIT] getglobal                    0.0% 188217
[JIT] jump                         0.0% 112918
[JIT] opt_div                      0.0% 75331

ruby-lsp

total cycles: 37644790784
JITed cycles: 6232155757 (16.6%)
[JIT] opt_send_without_block            42.2% 2632503698
[unknown]                               13.9% 864601272
[JIT] getinstancevariable                8.7% 540647197
[JIT] opt_aref                           4.5% 277694670
[JIT] getlocal_WC_0                      4.4% 271785674
[JIT] send                               4.0% 251360557
[JIT] leave                              3.3% 207820122
[JIT] setinstancevariable                2.8% 173176010
[JIT] opt_eq                             2.3% 142781438
[JIT] setlocal_WC_0                      1.6% 99990912
[JIT] invokeblock                        1.3% 81741804
[JIT] getlocal_WC_1                      1.2% 74442246
[JIT] opt_size                           1.1% 67166341
[JIT] opt_getconstant_path               0.8% 47683415
[JIT] branchunless                       0.7% 46247328
[JIT] opt_empty_p                        0.6% 37696352
[JIT] opt_not                            0.5% 31843411
[JIT] branchif                           0.5% 31083915
[JIT] getlocal                           0.5% 29736655
[JIT] opt_nil_p                          0.4% 26785817
[JIT] putself                            0.4% 26153831
[JIT] expandarray                        0.4% 24574853
[JIT] putobject                          0.4% 22839561
[JIT] dup                                0.3% 19530522
[JIT] opt_plus                           0.3% 19415816
[JIT] opt_case_dispatch                  0.3% 17871986
[JIT] getblockparamproxy                 0.2% 15504400
[JIT] opt_ltlt                           0.2% 13542102
[JIT] opt_le                             0.2% 13172809
[JIT] opt_aset                           0.2% 10612579
[JIT] opt_minus                          0.2% 9747832
[JIT] invokesuper                        0.1% 8582075
[JIT] putobject_INT2FIX_0_               0.1% 7754566
[JIT] putobject_INT2FIX_1_               0.1% 7526464
[JIT] opt_length                         0.1% 7337137
[JIT] opt_and                            0.1% 6886489
[JIT] newarray                           0.1% 6135786
[JIT] setlocal_WC_1                      0.1% 5757715
[JIT] opt_neq                            0.1% 5156959
[JIT] opt_lt                             0.1% 4778551
[JIT] checkkeyword                       0.1% 4290590
[JIT] opt_ge                             0.1% 4215398
[JIT] opt_gt                             0.1% 4214046
[JIT] splatarray                         0.1% 3613715
[JIT] opt_invokebuiltin_delegate         0.1% 3199695
[JIT] opt_div                            0.0% 2333085
[JIT] putnil                             0.0% 1993006
[JIT] defined                            0.0% 1880885
[JIT] branchnil                          0.0% 1279805
[JIT] jump                               0.0% 1242363
[JIT] opt_newarray_send                  0.0% 1241865
[JIT] duparray                           0.0% 1240861
[JIT] newhash                            0.0% 1165861
[JIT] opt_mult                           0.0% 1164957
[JIT] newrange                           0.0% 1053987
[JIT] throw                              0.0% 1016507
[JIT] opt_mod                            0.0% 903456
[JIT] objtostring                        0.0% 865293
[JIT] dupn                               0.0% 865166
[JIT] opt_regexpmatch2                   0.0% 790594
[JIT] topn                               0.0% 753162
[JIT] setn                               0.0% 527008
[JIT] concatarray                        0.0% 413493
[JIT] definedivar                        0.0% 376498
[JIT] swap                               0.0% 338689
[JIT] checkmatch                         0.0% 338680
[JIT] toregexp                           0.0% 301138
[JIT] anytostring                        0.0% 263467
[JIT] opt_str_freeze                     0.0% 188231
[JIT] putspecialobject                   0.0% 112911
[JIT] opt_succ                           0.0% 75283
[JIT] getconstant                        0.0% 74938
[JIT] concatstrings                      0.0% 37666
[JIT] opt_invokebuiltin_delegate_leave   0.0% 37663
[JIT] opt_or                             0.0% 37645
[JIT] getspecial                         0.0% 37283

sequel

total cycles: 45732101773
JITed cycles: 2092851768 (4.6%)
[JIT] opt_send_without_block            24.7% 516245481
[unknown]                               13.6% 285210735
[JIT] opt_aref                           8.6% 180963909
[JIT] getlocal_WC_0                      6.7% 141077629
[JIT] setlocal_WC_0                      5.0% 105551616
[JIT] send                               5.0% 103615183
[JIT] getinstancevariable                4.7% 98871929
[JIT] invokeblock                        4.3% 89384876
[JIT] leave                              4.2% 87531642
[JIT] objtostring                        2.0% 41157849
[JIT] dup                                1.9% 39007467
[JIT] branchunless                       1.6% 34410797
[JIT] expandarray                        1.6% 33139325
[JIT] opt_aset                           1.3% 27186259
[JIT] putobject                          1.2% 26017621
[JIT] opt_eq                             1.2% 25254821
[JIT] opt_getconstant_path               1.2% 25149701
[JIT] getlocal_WC_1                      1.1% 22513345
[JIT] opt_nil_p                          1.1% 22285314
[JIT] opt_regexpmatch2                   0.9% 17991997
[JIT] opt_ltlt                           0.7% 14795450
[JIT] anytostring                        0.7% 13897328
[JIT] putself                            0.6% 12874863
[JIT] opt_lt                             0.6% 12651345
[JIT] branchif                           0.6% 11712161
[JIT] opt_empty_p                        0.6% 11558181
[JIT] opt_length                         0.5% 10766150
[JIT] opt_not                            0.5% 9939292
[JIT] throw                              0.4% 9413751
[JIT] putobject_INT2FIX_1_               0.4% 8620526
[JIT] opt_invokebuiltin_delegate         0.4% 8471121
[JIT] setinstancevariable                0.4% 7601545
[JIT] invokesuper                        0.3% 5947184
[JIT] opt_plus                           0.2% 4933011
[JIT] newarray                           0.2% 3950634
[JIT] opt_invokebuiltin_delegate_leave   0.2% 3801722
[JIT] opt_mult                           0.2% 3615292
[JIT] opt_size                           0.2% 3428119
[JIT] getlocal                           0.1% 2972792
[JIT] setlocal_WC_1                      0.1% 2332154
[JIT] getblockparamproxy                 0.1% 1054873
[JIT] concatstrings                      0.0% 1015568
[JIT] splatarray                         0.0% 978896
[JIT] opt_neq                            0.0% 941382
[JIT] newhash                            0.0% 866167
[JIT] opt_le                             0.0% 789898
[JIT] getspecial                         0.0% 564189
[JIT] putnil                             0.0% 339086
[JIT] putobject_INT2FIX_0_               0.0% 225722
[JIT] topn                               0.0% 188224
[JIT] setn                               0.0% 37646
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant