Skip to content

More performance wins#212

Merged
FollowTheProcess merged 1 commit intomainfrom
perf/more
Apr 26, 2026
Merged

More performance wins#212
FollowTheProcess merged 1 commit intomainfrom
perf/more

Conversation

@FollowTheProcess
Copy link
Copy Markdown
Owner

@FollowTheProcess FollowTheProcess commented Apr 26, 2026

Summary

goos: darwin
goarch: arm64
pkg: go.followtheprocess.codes/cli
cpu: Apple M4 Pro
                     │  before.txt  │              after.txt              │
                     │    sec/op    │   sec/op     vs base                │
ExecuteHelp-14          1.687µ ± 0%   1.692µ ± 0%        ~ (p=0.344 n=20)
New-14                  772.1n ± 0%   777.2n ± 0%   +0.67% (p=0.000 n=20)
Execute-14             138.55n ± 3%   75.59n ± 3%  -45.44% (p=0.000 n=20)
ExecuteSubcommand-14    155.6n ± 1%   106.4n ± 0%  -31.62% (p=0.000 n=20)
Version-14              144.6n ± 0%   124.1n ± 0%  -14.18% (p=0.000 n=20)
geomean                 332.4n        265.2n       -20.22%

                     │  before.txt  │                 after.txt                 │
                     │     B/op     │     B/op      vs base                     │
ExecuteHelp-14         3.705Ki ± 0%   3.705Ki ± 0%         ~ (p=1.000 n=20) ¹
New-14                 2.383Ki ± 0%   2.383Ki ± 0%         ~ (p=1.000 n=20) ¹
Execute-14               32.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=20)
ExecuteSubcommand-14    128.00 ± 0%     80.00 ± 0%   -37.50% (p=0.000 n=20)
Version-14               272.0 ± 0%     272.0 ± 0%         ~ (p=1.000 n=20) ¹
geomean                  400.6                      ?                       ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean

                     │ before.txt │                after.txt                │
                     │ allocs/op  │ allocs/op   vs base                     │
ExecuteHelp-14         41.00 ± 0%   41.00 ± 0%         ~ (p=1.000 n=20) ¹
New-14                 33.00 ± 0%   33.00 ± 0%         ~ (p=1.000 n=20) ¹
Execute-14             2.000 ± 0%   0.000 ± 0%  -100.00% (p=0.000 n=20)
ExecuteSubcommand-14   3.000 ± 0%   1.000 ± 0%   -66.67% (p=0.000 n=20)
Version-14             2.000 ± 0%   2.000 ± 0%         ~ (p=1.000 n=20) ¹
geomean                6.952                    ?                       ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean

pkg: go.followtheprocess.codes/cli/internal/flag
                      │  before.txt  │              after.txt              │
                      │    sec/op    │   sec/op     vs base                │
FlagSet-14               7.779n ± 1%   7.150n ± 1%   -8.09% (p=0.000 n=20)
Parse-14                111.20n ± 0%   51.70n ± 1%  -53.51% (p=0.000 n=20)
ParseShort-14            54.12n ± 0%   33.10n ± 1%  -38.84% (p=0.000 n=20)
ParseMixed-14           113.60n ± 1%   56.32n ± 1%  -50.42% (p=0.000 n=20)
ParseWithEnv/unset-14    63.57n ± 0%   63.44n ± 0%        ~ (p=0.053 n=20)
ParseWithEnv/set-14      128.0n ± 0%   116.8n ± 1%   -8.71% (p=0.000 n=20)
ParseSliceFlag-14       152.95n ± 0%   51.80n ± 1%  -66.14% (p=0.000 n=20)
geomean                  67.85n        42.83n       -36.87%

                      │  before.txt  │                after.txt                │
                      │     B/op     │    B/op     vs base                     │
FlagSet-14              0.000 ± 0%     0.000 ± 0%         ~ (p=1.000 n=20) ¹
Parse-14                16.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=20)
ParseShort-14           16.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=20)
ParseMixed-14           16.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=20)
ParseWithEnv/unset-14   0.000 ± 0%     0.000 ± 0%         ~ (p=1.000 n=20) ¹
ParseWithEnv/set-14     16.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=20)
ParseSliceFlag-14       96.00 ± 0%      0.00 ± 0%  -100.00% (p=0.000 n=20)
geomean                            ²               ?                       ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean

                      │  before.txt  │                after.txt                │
                      │  allocs/op   │ allocs/op   vs base                     │
FlagSet-14              0.000 ± 0%     0.000 ± 0%         ~ (p=1.000 n=20) ¹
Parse-14                1.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=20)
ParseShort-14           1.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=20)
ParseMixed-14           1.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=20)
ParseWithEnv/unset-14   0.000 ± 0%     0.000 ± 0%         ~ (p=1.000 n=20) ¹
ParseWithEnv/set-14     1.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=20)
ParseSliceFlag-14       4.000 ± 0%     0.000 ± 0%  -100.00% (p=0.000 n=20)
geomean                            ²               ?                       ² ³
¹ all samples are equal
² summaries must be >0 to compute geomean
³ ratios must be >0 to compute geomean

@FollowTheProcess FollowTheProcess added the performance Performance label Apr 26, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 26, 2026

Codecov Report

❌ Patch coverage is 82.97362% with 71 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.63%. Comparing base (a30cda3) to head (76be5b0).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
internal/flag/flag.go 75.78% 61 Missing and 1 partial ⚠️
internal/arg/arg.go 95.03% 6 Missing and 1 partial ⚠️
command.go 90.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #212      +/-   ##
==========================================
+ Coverage   85.67%   86.63%   +0.95%     
==========================================
  Files           9        9              
  Lines        1592     1571      -21     
==========================================
- Hits         1364     1361       -3     
+ Misses        172      153      -19     
- Partials       56       57       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@FollowTheProcess FollowTheProcess merged commit 0a36683 into main Apr 26, 2026
10 of 11 checks passed
@FollowTheProcess FollowTheProcess deleted the perf/more branch April 26, 2026 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant