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

Improove performance colors #718

Conversation

clement-roblot
Copy link
Contributor

Hi everyone,

This is a follow-up to #717, I felt like the color handling could benefit from a similar strategy as the one in #704. This PR consists of 2 significant changes:

  • Merged the R G and B channels and the type color palette into 1 union. This allows for color comparison to be done in 1 instruction (1 32 bit comparison instead of 4 8 bits comparisons).
  • Printing colors doesn´t rely on std::to_string to convert the int value of a color into a string, I implemented a lookup table for the 256 possible values for each channel.

Performance-wise I'm getting in the neighborhood of 2% improvement (when using the new benchmark of #717):

RUNNING: ./ftxui-benchmark_main --benchmark_out=/tmp/tmp7s5vsrj9
2023-08-01T17:16:10+07:00
Running ./ftxui-benchmark_main
Run on (20 X 4900 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x10)
  L1 Instruction 32 KiB (x10)
  L2 Unified 1280 KiB (x10)
  L3 Unified 24576 KiB (x1)
Load Average: 4.51, 2.15, 1.77
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
***WARNING*** Library was built as DEBUG. Timings may be affected.
----------------------------------------------------------------
Benchmark                      Time             CPU   Iterations
----------------------------------------------------------------
BencharkBasic/0             7267 ns         7267 ns        96619
BencharkBasic/16          106379 ns       106373 ns         6556
BencharkBasic/32          194299 ns       194295 ns         3606
BencharkBasic/48          290439 ns       290433 ns         2387
BencharkBasic/64          391215 ns       391205 ns         1783
BencharkBasic/80          486855 ns       486829 ns         1443
BencharkBasic/96          582012 ns       581961 ns         1202
BencharkBasic/112         676734 ns       676697 ns         1006
BencharkBasic/128         774240 ns       774235 ns          901
BencharkBasic/144         873247 ns       873170 ns          805
BencharkBasic/160         971535 ns       971493 ns          722
BencharkBasic/176        1066045 ns      1066030 ns          657
BencharkBasic/192        1158346 ns      1158319 ns          590
BencharkBasic/208        1263032 ns      1263023 ns          556
BencharkBasic/224        1357826 ns      1357812 ns          508
BencharkBasic/240        1462074 ns      1462035 ns          481
BencharkBasic/256        1559184 ns      1559022 ns          451
BencharkText/0           2975417 ns      2975298 ns          236
BencharkText/1           2995537 ns      2994564 ns          236
BencharkText/2           2989829 ns      2989725 ns          235
BencharkText/3           3006738 ns      3005872 ns          234
BencharkText/4           3038803 ns      3038758 ns          231
BencharkText/5           3114975 ns      3114864 ns          226
BencharkText/6           3222817 ns      3222651 ns          217
BencharkText/7           3483550 ns      3483326 ns          201
BencharkText/8           3964439 ns      3964147 ns          176
BencharkText/9           4645532 ns      4645260 ns          151
BencharkText/10          6566271 ns      6566091 ns          105
BenchmarkStyle/1/10        34645 ns        34644 ns        20279
BenchmarkStyle/4/10        93542 ns        93541 ns         7441
BenchmarkStyle/7/10       144751 ns       144747 ns         4860
BenchmarkStyle/10/10      194244 ns       194234 ns         3605
BenchmarkStyle/1/30       102231 ns       102228 ns         6717
BenchmarkStyle/4/30       191967 ns       191953 ns         3665
BenchmarkStyle/7/30       269140 ns       269132 ns         2619
BenchmarkStyle/10/30      349182 ns       349173 ns         2016
BenchmarkStyle/1/50       219878 ns       219866 ns         3189
BenchmarkStyle/4/50       328145 ns       328134 ns         2143
BenchmarkStyle/7/50       431921 ns       431873 ns         1617
BenchmarkStyle/10/50      538361 ns       538350 ns         1310
BenchmarkStyle/1/70       390087 ns       390068 ns         1803
BenchmarkStyle/4/70       512879 ns       512842 ns         1375
BenchmarkStyle/7/70       636630 ns       636621 ns         1097
BenchmarkStyle/10/70      755976 ns       755950 ns          924
BenchmarkStyle/1/90       610281 ns       610228 ns         1150
BenchmarkStyle/4/90       754240 ns       754225 ns          931
BenchmarkStyle/7/90       894400 ns       894381 ns          785
BenchmarkStyle/10/90     1033237 ns      1033223 ns          680
BenchmarkStyle/1/110      886096 ns       886068 ns          786
BenchmarkStyle/4/110     1050038 ns      1050009 ns          666
BenchmarkStyle/7/110     1206135 ns      1205993 ns          582
BenchmarkStyle/10/110    1367987 ns      1367954 ns          512
BenchmarkStyle/1/130     1212109 ns      1212065 ns          579
BenchmarkStyle/4/130     1384765 ns      1384689 ns          506
BenchmarkStyle/7/130     1565916 ns      1565856 ns          435
BenchmarkStyle/10/130    1747661 ns      1747586 ns          400
BenchmarkStyle/1/150     1595441 ns      1595363 ns          440
BenchmarkStyle/4/150     1791149 ns      1791052 ns          391
BenchmarkStyle/7/150     1988939 ns      1988799 ns          355
BenchmarkStyle/10/150    2186064 ns      2185955 ns          322
BenchmarkStyle/1/170     2032819 ns      2032754 ns          346
BenchmarkStyle/4/170     2230284 ns      2230024 ns          314
BenchmarkStyle/7/170     2440218 ns      2440155 ns          286
BenchmarkStyle/10/170    2654004 ns      2653935 ns          263
BenchmarkStyle/1/190     2501621 ns      2501513 ns          278
BenchmarkStyle/4/190     2744325 ns      2744089 ns          252
BenchmarkStyle/7/190     2967134 ns      2966972 ns          233
BenchmarkStyle/10/190    3193891 ns      3193795 ns          218
RUNNING: ./ftxui-benchmark_full --benchmark_out=/tmp/tmpsc9rfvot
2023-08-01T17:17:13+07:00
Running ./ftxui-benchmark_full
Run on (20 X 4900 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x10)
  L1 Instruction 32 KiB (x10)
  L2 Unified 1280 KiB (x10)
  L3 Unified 24576 KiB (x1)
Load Average: 2.39, 1.97, 1.73
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
***WARNING*** Library was built as DEBUG. Timings may be affected.
----------------------------------------------------------------
Benchmark                      Time             CPU   Iterations
----------------------------------------------------------------
BencharkBasic/0             7198 ns         7198 ns        95853
BencharkBasic/16          104365 ns       104364 ns         6682
BencharkBasic/32          191775 ns       191766 ns         3634
BencharkBasic/48          289235 ns       289232 ns         2419
BencharkBasic/64          386178 ns       386158 ns         1803
BencharkBasic/80          481946 ns       481937 ns         1451
BencharkBasic/96          576040 ns       575989 ns         1214
BencharkBasic/112         682188 ns       682159 ns         1035
BencharkBasic/128         765809 ns       765780 ns          916
BencharkBasic/144         855724 ns       855750 ns          799
BencharkBasic/160         955533 ns       955471 ns          730
BencharkBasic/176        1050136 ns      1050040 ns          665
BencharkBasic/192        1139834 ns      1139814 ns          614
BencharkBasic/208        1238804 ns      1238734 ns          566
BencharkBasic/224        1330724 ns      1330698 ns          517
BencharkBasic/240        1432510 ns      1432397 ns          490
BencharkBasic/256        1517096 ns      1517050 ns          462
BencharkText/0           2909861 ns      2909779 ns          242
BencharkText/1           2906733 ns      2906551 ns          241
BencharkText/2           2917948 ns      2917909 ns          241
BencharkText/3           2924924 ns      2924853 ns          239
BencharkText/4           2984593 ns      2984446 ns          237
BencharkText/5           3051319 ns      3051138 ns          230
BencharkText/6           3156738 ns      3156586 ns          221
BencharkText/7           3416657 ns      3416020 ns          205
BencharkText/8           3909996 ns      3909533 ns          179
BencharkText/9           4513893 ns      4513767 ns          154
BencharkText/10          6512423 ns      6512212 ns          108
BenchmarkStyle/1/10        34033 ns        34032 ns        20543
BenchmarkStyle/4/10        92026 ns        92024 ns         7584
BenchmarkStyle/7/10       142578 ns       142575 ns         4910
BenchmarkStyle/10/10      192231 ns       192227 ns         3658
BenchmarkStyle/1/30       100736 ns       100733 ns         6923
BenchmarkStyle/4/30       184758 ns       184755 ns         3767
BenchmarkStyle/7/30       259131 ns       259114 ns         2661
BenchmarkStyle/10/30      337066 ns       337062 ns         2054
BenchmarkStyle/1/50       214927 ns       214918 ns         3215
BenchmarkStyle/4/50       316869 ns       316862 ns         2189
BenchmarkStyle/7/50       419930 ns       419882 ns         1659
BenchmarkStyle/10/50      519284 ns       519271 ns         1347
BenchmarkStyle/1/70       382451 ns       382440 ns         1821
BenchmarkStyle/4/70       505605 ns       505581 ns         1372
BenchmarkStyle/7/70       621006 ns       620975 ns         1133
BenchmarkStyle/10/70      738219 ns       738199 ns          950
BenchmarkStyle/1/90       595594 ns       595583 ns         1173
BenchmarkStyle/4/90       733065 ns       733000 ns          955
BenchmarkStyle/7/90       867076 ns       867024 ns          815
BenchmarkStyle/10/90      995454 ns       995338 ns          702
BenchmarkStyle/1/110      861575 ns       861541 ns          813
BenchmarkStyle/4/110     1009660 ns      1009584 ns          691
BenchmarkStyle/7/110     1166524 ns      1166412 ns          601
BenchmarkStyle/10/110    1320650 ns      1320596 ns          530
BenchmarkStyle/1/130     1178245 ns      1178208 ns          593
BenchmarkStyle/4/130     1346948 ns      1346915 ns          521
BenchmarkStyle/7/130     1509108 ns      1509048 ns          464
BenchmarkStyle/10/130    1674372 ns      1674319 ns          413
BenchmarkStyle/1/150     1546852 ns      1546713 ns          454
BenchmarkStyle/4/150     1728430 ns      1728333 ns          402
BenchmarkStyle/7/150     1905695 ns      1905641 ns          364
BenchmarkStyle/10/150    2103934 ns      2103843 ns          335
BenchmarkStyle/1/170     1962311 ns      1962183 ns          360
BenchmarkStyle/4/170     2149242 ns      2149111 ns          327
BenchmarkStyle/7/170     2363203 ns      2363094 ns          298
BenchmarkStyle/10/170    2544981 ns      2544777 ns          274
BenchmarkStyle/1/190     2408670 ns      2408523 ns          292
BenchmarkStyle/4/190     2610183 ns      2610073 ns          266
BenchmarkStyle/7/190     2902697 ns      2902661 ns          248
BenchmarkStyle/10/190    3058855 ns      3058447 ns          229
Comparing ./ftxui-benchmark_main to ./ftxui-benchmark_full
Benchmark                               Time             CPU      Time Old      Time New       CPU Old       CPU New
--------------------------------------------------------------------------------------------------------------------
BencharkBasic/0                      -0.0095         -0.0095          7267          7198          7267          7198
BencharkBasic/16                     -0.0189         -0.0189        106379        104365        106373        104364
BencharkBasic/32                     -0.0130         -0.0130        194299        191775        194295        191766
BencharkBasic/48                     -0.0041         -0.0041        290439        289235        290433        289232
BencharkBasic/64                     -0.0129         -0.0129        391215        386178        391205        386158
BencharkBasic/80                     -0.0101         -0.0100        486855        481946        486829        481937
BencharkBasic/96                     -0.0103         -0.0103        582012        576040        581961        575989
BencharkBasic/112                    +0.0081         +0.0081        676734        682188        676697        682159
BencharkBasic/128                    -0.0109         -0.0109        774240        765809        774235        765780
BencharkBasic/144                    -0.0201         -0.0200        873247        855724        873170        855750
BencharkBasic/160                    -0.0165         -0.0165        971535        955533        971493        955471
BencharkBasic/176                    -0.0149         -0.0150       1066045       1050136       1066030       1050040
BencharkBasic/192                    -0.0160         -0.0160       1158346       1139834       1158319       1139814
BencharkBasic/208                    -0.0192         -0.0192       1263032       1238804       1263023       1238734
BencharkBasic/224                    -0.0200         -0.0200       1357826       1330724       1357812       1330698
BencharkBasic/240                    -0.0202         -0.0203       1462074       1432510       1462035       1432397
BencharkBasic/256                    -0.0270         -0.0269       1559184       1517096       1559022       1517050
BencharkText/0                       -0.0220         -0.0220       2975417       2909861       2975298       2909779
BencharkText/1                       -0.0296         -0.0294       2995537       2906733       2994564       2906551
BencharkText/2                       -0.0240         -0.0240       2989829       2917948       2989725       2917909
BencharkText/3                       -0.0272         -0.0270       3006738       2924924       3005872       2924853
BencharkText/4                       -0.0178         -0.0179       3038803       2984593       3038758       2984446
BencharkText/5                       -0.0204         -0.0205       3114975       3051319       3114864       3051138
BencharkText/6                       -0.0205         -0.0205       3222817       3156738       3222651       3156586
BencharkText/7                       -0.0192         -0.0193       3483550       3416657       3483326       3416020
BencharkText/8                       -0.0137         -0.0138       3964439       3909996       3964147       3909533
BencharkText/9                       -0.0283         -0.0283       4645532       4513893       4645260       4513767
BencharkText/10                      -0.0082         -0.0082       6566271       6512423       6566091       6512212
BenchmarkStyle/1/10                  -0.0177         -0.0177         34645         34033         34644         34032
BenchmarkStyle/4/10                  -0.0162         -0.0162         93542         92026         93541         92024
BenchmarkStyle/7/10                  -0.0150         -0.0150        144751        142578        144747        142575
BenchmarkStyle/10/10                 -0.0104         -0.0103        194244        192231        194234        192227
BenchmarkStyle/1/30                  -0.0146         -0.0146        102231        100736        102228        100733
BenchmarkStyle/4/30                  -0.0376         -0.0375        191967        184758        191953        184755
BenchmarkStyle/7/30                  -0.0372         -0.0372        269140        259131        269132        259114
BenchmarkStyle/10/30                 -0.0347         -0.0347        349182        337066        349173        337062
BenchmarkStyle/1/50                  -0.0225         -0.0225        219878        214927        219866        214918
BenchmarkStyle/4/50                  -0.0344         -0.0344        328145        316869        328134        316862
BenchmarkStyle/7/50                  -0.0278         -0.0278        431921        419930        431873        419882
BenchmarkStyle/10/50                 -0.0354         -0.0354        538361        519284        538350        519271
BenchmarkStyle/1/70                  -0.0196         -0.0196        390087        382451        390068        382440
BenchmarkStyle/4/70                  -0.0142         -0.0142        512879        505605        512842        505581
BenchmarkStyle/7/70                  -0.0245         -0.0246        636630        621006        636621        620975
BenchmarkStyle/10/70                 -0.0235         -0.0235        755976        738219        755950        738199
BenchmarkStyle/1/90                  -0.0241         -0.0240        610281        595594        610228        595583
BenchmarkStyle/4/90                  -0.0281         -0.0281        754240        733065        754225        733000
BenchmarkStyle/7/90                  -0.0305         -0.0306        894400        867076        894381        867024
BenchmarkStyle/10/90                 -0.0366         -0.0367       1033237        995454       1033223        995338
BenchmarkStyle/1/110                 -0.0277         -0.0277        886096        861575        886068        861541
BenchmarkStyle/4/110                 -0.0385         -0.0385       1050038       1009660       1050009       1009584
BenchmarkStyle/7/110                 -0.0328         -0.0328       1206135       1166524       1205993       1166412
BenchmarkStyle/10/110                -0.0346         -0.0346       1367987       1320650       1367954       1320596
BenchmarkStyle/1/130                 -0.0279         -0.0279       1212109       1178245       1212065       1178208
BenchmarkStyle/4/130                 -0.0273         -0.0273       1384765       1346948       1384689       1346915
BenchmarkStyle/7/130                 -0.0363         -0.0363       1565916       1509108       1565856       1509048
BenchmarkStyle/10/130                -0.0419         -0.0419       1747661       1674372       1747586       1674319
BenchmarkStyle/1/150                 -0.0305         -0.0305       1595441       1546852       1595363       1546713
BenchmarkStyle/4/150                 -0.0350         -0.0350       1791149       1728430       1791052       1728333
BenchmarkStyle/7/150                 -0.0419         -0.0418       1988939       1905695       1988799       1905641
BenchmarkStyle/10/150                -0.0376         -0.0376       2186064       2103934       2185955       2103843
BenchmarkStyle/1/170                 -0.0347         -0.0347       2032819       1962311       2032754       1962183
BenchmarkStyle/4/170                 -0.0363         -0.0363       2230284       2149242       2230024       2149111
BenchmarkStyle/7/170                 -0.0316         -0.0316       2440218       2363203       2440155       2363094
BenchmarkStyle/10/170                -0.0411         -0.0411       2654004       2544981       2653935       2544777
BenchmarkStyle/1/190                 -0.0372         -0.0372       2501621       2408670       2501513       2408523
BenchmarkStyle/4/190                 -0.0489         -0.0488       2744325       2610183       2744089       2610073
BenchmarkStyle/7/190                 -0.0217         -0.0217       2967134       2902697       2966972       2902661
BenchmarkStyle/10/190                -0.0423         -0.0424       3193891       3058855       3193795       3058447
OVERALL_GEOMEAN                      -0.0247         -0.0247             0             0             0             0

@clement-roblot
Copy link
Contributor Author

Indeed, my changes did break stuff. Looking deeper into it, I'm changing a lot of stuff. It makes me feel like the performance improvement is not worth such bug changes, and we should just close the PR. Do you agree @ArthurSonzogni?

@ArthurSonzogni
Copy link
Owner

Thanks!

I rebased locally and checked what it gives:

BencharkBasic/0                      -0.0303         -0.0303           882           855           882           855
BencharkBasic/16                     +0.0546         +0.0546         27217         28702         27216         28702
BencharkBasic/32                     +0.1246         +0.1245         51867         58328         51866         58326
BencharkBasic/48                     +0.0890         +0.0890         86955         94693         86953         94690
BencharkBasic/64                     +0.0968         +0.0967        122765        134643        122761        134638
BencharkBasic/80                     +0.0894         +0.0894        155771        169693        155764        169689
BencharkBasic/96                     +0.0907         +0.0907        189265        206427        189253        206422
BencharkBasic/112                    +0.1088         +0.1088        222156        246326        222147        246318
BencharkBasic/128                    +0.0978         +0.0978        255199        280155        255188        280147
BencharkBasic/144                    +0.0718         +0.0718        288206        308891        288192        308883
BencharkBasic/160                    +0.0670         +0.0671        324443        346176        324417        346172
BencharkBasic/176                    +0.0673         +0.0673        358233        382330        358218        382322
BencharkBasic/192                    +0.0503         +0.0503        396826        416789        396815        416784
BencharkBasic/208                    +0.0749         +0.0749        422108        453721        422102        453714
BencharkBasic/224                    +0.0717         +0.0717        455596        488248        455589        488232
BencharkBasic/240                    +0.0775         +0.0775        486717        524413        486703        524408
BencharkBasic/256                    +0.0778         +0.0778        517829        558124        517823        558108
BencharkText/0                       +0.0738         +0.0738       1016962       1091987       1016922       1091931
BencharkText/1                       +0.0641         +0.0641       1023684       1089289       1023662       1089250
BencharkText/2                       +0.0592         +0.0591       1030755       1091753       1030743       1091709
BencharkText/3                       +0.0649         +0.0649       1033788       1100927       1033766       1100881
BencharkText/4                       +0.0554         +0.0555       1044878       1102809       1044775       1102795
BencharkText/5                       +0.0404         +0.0404       1051074       1093549       1051041       1093505
BencharkText/6                       +0.0335         +0.0335       1076697       1112737       1076658       1112694
BencharkText/7                       +0.0358         +0.0358       1117730       1157758       1117698       1157729
BencharkText/8                       +0.0305         +0.0305       1207475       1244345       1207442       1244312
BencharkText/9                       -0.0037         -0.0037       1128323       1124151       1128282       1124137
BencharkText/10                      -0.0153         -0.0153       1551392       1527699       1551353       1527665
BenchmarkStyle/1/10                  +0.0030         +0.0030          6998          7019          6998          7019
BenchmarkStyle/4/10                  -0.0158         -0.0158         17599         17322         17599         17321
BenchmarkStyle/7/10                  +0.0067         +0.0067         25041         25210         25040         25209
BenchmarkStyle/10/10                 +0.0071         +0.0071         32121         32350         32120         32349
BenchmarkStyle/1/30                  -0.0254         -0.0254         26728         26048         26728         26047
BenchmarkStyle/4/30                  -0.0160         -0.0160         46209         45470         46208         45468
BenchmarkStyle/7/30                  -0.0311         -0.0311         62949         60993         62947         60992
BenchmarkStyle/10/30                 +0.0064         +0.0064         78911         79420         78909         79418
BenchmarkStyle/1/50                  -0.0333         -0.0333         62594         60509         62591         60508
BenchmarkStyle/4/50                  -0.0195         -0.0195         87171         85468         87169         85465
BenchmarkStyle/7/50                  -0.0296         -0.0296        112151        108827        112140        108825
BenchmarkStyle/10/50                 -0.0359         -0.0359        137923        132968        137922        132964
BenchmarkStyle/1/70                  -0.0247         -0.0247        114873        112038        114869        112036
BenchmarkStyle/4/70                  -0.0151         -0.0151        144100        141924        144097        141922
BenchmarkStyle/7/70                  +0.0056         +0.0056        170183        171142        170181        171141
BenchmarkStyle/10/70                 -0.0044         -0.0045        202175        201276        202173        201270
BenchmarkStyle/1/90                  -0.0091         -0.0090        183053        181395        183048        181393
BenchmarkStyle/4/90                  -0.0156         -0.0156        217299        213904        217296        213901
BenchmarkStyle/7/90                  -0.0008         -0.0009        251736        251525        251733        251514
BenchmarkStyle/10/90                 +0.0011         +0.0011        284380        284688        284372        284674
BenchmarkStyle/1/110                 -0.0164         -0.0164        266879        262504        266869        262498
BenchmarkStyle/4/110                 -0.0142         -0.0142        307113        302745        307102        302738
BenchmarkStyle/7/110                 -0.0134         -0.0135        346258        341604        346253        341595
BenchmarkStyle/10/110                -0.0203         -0.0203        394182        386179        394170        386170
BenchmarkStyle/1/130                 -0.0028         -0.0027        365878        364871        365866        364865
BenchmarkStyle/4/130                 -0.0318         -0.0318        411686        398599        411673        398594
BenchmarkStyle/7/130                 -0.0002         -0.0002        453594        453496        453588        453486
BenchmarkStyle/10/130                -0.0007         -0.0007        497366        497007        497358        497004
BenchmarkStyle/1/150                 -0.0228         -0.0228        478853        467933        478834        467926
BenchmarkStyle/4/150                 -0.0093         -0.0094        533910        528921        533900        528900
BenchmarkStyle/7/150                 -0.0091         -0.0092        583219        577884        583217        577866
BenchmarkStyle/10/150                -0.0071         -0.0071        631500        627027        631497        627012
BenchmarkStyle/1/170                 +0.0174         +0.0174        609725        620319        609707        620315
BenchmarkStyle/4/170                 -0.0005         -0.0005        664431        664130        664417        664108
BenchmarkStyle/7/170                 +0.0027         +0.0027        717790        719722        717767        719700
BenchmarkStyle/10/170                -0.0133         -0.0133        786179        775749        786175        775729
BenchmarkStyle/1/190                 -0.0315         -0.0315        759946        736018        759924        735993
BenchmarkStyle/4/190                 -0.0022         -0.0022        819625        817827        819602        817818
BenchmarkStyle/7/190                 +0.0001         +0.0001        877128        877229        877115        877224
BenchmarkStyle/10/190                -0.0008         -0.0008        935396        934608        935373        934595
OVERALL_GEOMEAN                      +0.0182         +0.0182             0             0             0             0

Overall, it regress performance by +1.8%. It improves BenchmarkStyle by around 1% and regress the other by around +5%.

I am going to split this patch and try to extract the ideas that bring performance improvement, without breaking the API.

@ArthurSonzogni
Copy link
Owner

Indeed, my changes did break stuff. Looking deeper into it, I'm changing a lot of stuff. It makes me feel like the performance improvement is not worth such bug changes, and we should just close the PR. Do you agree @ArthurSonzogni?

Yes, I think we should close this PR. I wasn't able to retrieve a substancial performance improvement.

Thanks anyway for your work here!

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

Successfully merging this pull request may close these issues.

2 participants