Skip to content

Update parser#2766

Merged
NullVoxPopuli merged 1 commit intomasterfrom
nvp/update-parser
Apr 28, 2026
Merged

Update parser#2766
NullVoxPopuli merged 1 commit intomasterfrom
nvp/update-parser

Conversation

@NullVoxPopuli
Copy link
Copy Markdown
Contributor

No description provided.

@github-actions
Copy link
Copy Markdown
Contributor

🏎️ Benchmark Comparison

Benchmark Control (p50) Experiment (p50) Δ
🟢 js small 14.15 ms 13.82 ms -2.3%
🟢 js medium 6.77 ms 6.41 ms -5.4%
js large 2.62 ms 2.57 ms -1.7%
gjs small 1.10 ms 1.10 ms +0.3%
gjs medium 554.69 µs 550.32 µs -0.8%
gjs large 218.26 µs 218.74 µs +0.2%
gts small 1.09 ms 1.10 ms +0.3%
gts medium 549.18 µs 550.03 µs +0.2%
gts large 217.83 µs 218.76 µs +0.4%

🟢 faster · 🔴 slower · 🟠 slightly slower · ⚪ within 2%

Full mitata output
clk: ~2.75 GHz
cpu: AMD EPYC 9V74 80-Core Processor
runtime: node 24.15.0 (x64-linux)

benchmark                   avg (min … max) p75 / p99    (min … top 1%)
------------------------------------------- -------------------------------
js small (control)            16.34 ms/iter  17.82 ms █                    
                      (11.25 ms … 32.26 ms)  30.34 ms █ ▆                  
                    (  5.69 mb …  10.66 mb)   7.24 mb ████▆█▆█▁▁▄▄▄▁▄▁▄▁▄▁▄

js small (experiment)         14.18 ms/iter  15.10 ms   █                  
                      (11.95 ms … 20.22 ms)  18.97 ms ▆▆█▆  █              
                    (  6.50 mb …   7.85 mb)   6.84 mb ████▄██████▁▄▄▄▄▁█▁▁▄

                             ┌                                            ┐
                             ╷┌──────────┬───┐                            ╷
          js small (control) ├┤          │   ├────────────────────────────┤
                             ╵└──────────┴───┘                            ╵
                               ╷┌───┬─┐        ╷
       js small (experiment)   ├┤   │ ├────────┤
                               ╵└───┴─┘        ╵
                             └                                            ┘
                             11.25 ms           20.79 ms           30.34 ms

summary
  js small (experiment)
   1.15x faster than js small (control)

------------------------------------------- -------------------------------
js medium (control)            7.74 ms/iter   8.46 ms  █▂                  
                       (6.14 ms … 14.25 ms)  12.92 ms ▇██                  
                    (  3.05 mb …   4.11 mb)   3.54 mb ███▆▂▄▇█▂▃▂▂▂▄▁▆▁▂▂▁▂

js medium (experiment)         7.20 ms/iter   7.55 ms  █                   
                       (6.01 ms … 13.53 ms)  12.93 ms  █                   
                    (  2.37 mb …   4.43 mb)   3.52 mb ▇█▅▃▄▃▂▃▃▂▂▂▂▁▂▁▁▁▁▂▂

                             ┌                                            ┐
                              ╷ ┌───────┬────┐                            ╷
         js medium (control)  ├─┤       │    ├────────────────────────────┤
                              ╵ └───────┴────┘                            ╵
                             ╷ ┌─────┬─┐                                  ╷
      js medium (experiment) ├─┤     │ ├──────────────────────────────────┤
                             ╵ └─────┴─┘                                  ╵
                             └                                            ┘
                             6.01 ms            9.47 ms            12.93 ms

summary
  js medium (experiment)
   1.08x faster than js medium (control)

------------------------------------------- -------------------------------
js large (control)             3.06 ms/iter   2.83 ms  █                   
                       (2.17 ms … 12.53 ms)   8.47 ms ██▅                  
                    (323.91 kb …   4.56 mb)   1.44 mb ███▃▄▃▂▂▁▁▂▂▂▁▁▁▂▁▁▂▁

js large (experiment)          2.85 ms/iter   2.71 ms  █                   
                        (2.35 ms … 7.74 ms)   6.42 ms ▆█                   
                    (319.30 kb …   2.68 mb)   1.43 mb ██▄▄▂▂▂▂▁▁▂▁▁▁▁▁▁▁▁▁▁

                             ┌                                            ┐
                             ╷┌────┬                                      ╷
          js large (control) ├┤    │──────────────────────────────────────┤
                             ╵└────┴                                      ╵
                              ╷┌──┬                        ╷
       js large (experiment)  ├┤  │────────────────────────┤
                              ╵└──┴                        ╵
                             └                                            ┘
                             2.17 ms            5.32 ms             8.47 ms

summary
  js large (experiment)
   1.08x faster than js large (control)

------------------------------------------- -------------------------------
gjs small (control)            1.20 ms/iter   1.13 ms █                    
                        (1.07 ms … 6.58 ms)   5.62 ms █                    
                    (153.52 kb …   1.62 mb)   1.06 mb █▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

gjs small (experiment)         1.22 ms/iter   1.12 ms █                    
                        (1.07 ms … 7.09 ms)   5.68 ms █                    
                    (314.48 kb …   1.62 mb)   1.05 mb █▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

                             ┌                                            ┐
                             ┌┬                                          ╷
         gjs small (control) ││──────────────────────────────────────────┤
                             └┴                                          ╵
                             ┌┬                                           ╷
      gjs small (experiment) ││───────────────────────────────────────────┤
                             └┴                                           ╵
                             └                                            ┘
                             1.07 ms            3.38 ms             5.68 ms

summary
  gjs small (control)
   1.02x faster than gjs small (experiment)

------------------------------------------- -------------------------------
gjs medium (control)         618.54 µs/iter 565.38 µs █                    
                      (530.17 µs … 6.36 ms)   3.59 ms █                    
                    (124.67 kb …   1.20 mb) 541.63 kb █▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

gjs medium (experiment)      595.15 µs/iter 558.16 µs █                    
                      (531.36 µs … 5.52 ms)   1.88 ms █                    
                    ( 39.88 kb …   1.08 mb) 540.35 kb █▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

                             ┌                                            ┐
                             ┌┬                                           ╷
        gjs medium (control) ││───────────────────────────────────────────┤
                             └┴                                           ╵
                             ┌┬                  ╷
     gjs medium (experiment) ││──────────────────┤
                             └┴                  ╵
                             └                                            ┘
                             530.17 µs           2.06 ms            3.59 ms

summary
  gjs medium (experiment)
   1.04x faster than gjs medium (control)

------------------------------------------- -------------------------------
gjs large (control)          243.85 µs/iter 225.03 µs  █                   
                      (211.64 µs … 5.59 ms) 361.81 µs ▂█                   
                    ( 17.30 kb … 802.83 kb) 217.31 kb ███▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

gjs large (experiment)       240.53 µs/iter 225.59 µs  █                   
                      (211.35 µs … 5.16 ms) 302.08 µs  █▆                  
                    (215.70 kb … 836.09 kb) 216.62 kb ▅███▇▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁

                             ┌                                            ┐
                             ╷┌────────┬                                  ╷
         gjs large (control) ├┤        │──────────────────────────────────┤
                             ╵└────────┴                                  ╵
                             ╷┌───────┬                 ╷
      gjs large (experiment) ├┤       │─────────────────┤
                             ╵└───────┴                 ╵
                             └                                            ┘
                             211.35 µs         286.58 µs          361.81 µs

summary
  gjs large (experiment)
   1.01x faster than gjs large (control)

------------------------------------------- -------------------------------
gts small (control)            1.19 ms/iter   1.11 ms █                    
                        (1.08 ms … 6.02 ms)   5.66 ms █                    
                    (230.20 kb …   1.76 mb)   1.06 mb █▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

gts small (experiment)         1.19 ms/iter   1.11 ms █                    
                        (1.07 ms … 6.14 ms)   5.76 ms █                    
                    (220.06 kb …   1.57 mb)   1.05 mb █▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

                             ┌                                            ┐
                             ┌┬                                          ╷
         gts small (control) ││──────────────────────────────────────────┤
                             └┴                                          ╵
                             ┌┬                                           ╷
      gts small (experiment) ││───────────────────────────────────────────┤
                             └┴                                           ╵
                             └                                            ┘
                             1.07 ms            3.41 ms             5.76 ms

summary
  gts small (experiment)
   1x faster than gts small (control)

------------------------------------------- -------------------------------
gts medium (control)         595.63 µs/iter 556.43 µs █                    
                      (531.37 µs … 5.77 ms)   1.62 ms █                    
                    ( 40.48 kb …   1.23 mb) 541.86 kb █▆▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

gts medium (experiment)      599.80 µs/iter 557.35 µs █                    
                      (530.22 µs … 5.79 ms)   1.98 ms █                    
                    (106.69 kb …   1.60 mb) 540.94 kb █▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

                             ┌                                            ┐
                             ┌─┬                               ╷
        gts medium (control) │ │───────────────────────────────┤
                             └─┴                               ╵
                             ┌─┬                                          ╷
     gts medium (experiment) │ │──────────────────────────────────────────┤
                             └─┴                                          ╵
                             └                                            ┘
                             530.22 µs           1.25 ms            1.98 ms

summary
  gts medium (control)
   1.01x faster than gts medium (experiment)

------------------------------------------- -------------------------------
gts large (control)          239.60 µs/iter 224.79 µs  █                   
                      (211.11 µs … 5.54 ms) 301.44 µs  █▄                  
                    (106.38 kb … 809.01 kb) 216.75 kb ▄██▅▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁

gts large (experiment)       242.54 µs/iter 226.13 µs  █                   
                      (211.95 µs … 5.74 ms) 382.33 µs ▇█▃                  
                    ( 16.88 kb … 738.26 kb) 216.44 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

                             ┌                                            ┐
                             ╷┌─────┬                ╷
         gts large (control) ├┤     │────────────────┤
                             ╵└─────┴                ╵
                             ╷┌──────┬                                    ╷
      gts large (experiment) ├┤      │────────────────────────────────────┤
                             ╵└──────┴                                    ╵
                             └                                            ┘
                             211.11 µs         296.72 µs          382.33 µs

summary
  gts large (control)
   1.01x faster than gts large (experiment)

@NullVoxPopuli NullVoxPopuli merged commit 4ae4688 into master Apr 28, 2026
12 checks passed
@NullVoxPopuli NullVoxPopuli deleted the nvp/update-parser branch April 28, 2026 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant