Skip to content

chore: remove deprecated things - #2859

Open
xushiwei wants to merge 1 commit into
xgo-dev:mainfrom
xushiwei:libs
Open

xushiwei wants to merge 1 commit into
xgo-dev:mainfrom
xushiwei:libs

Conversation

@xushiwei

Copy link
Copy Markdown
Contributor

No description provided.

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — chore: remove deprecated things

Clean deletion-only PR (3058 lines, 24 files). I verified the removal is safe at the source level: no remaining Go source imports any deleted package (xtool/clang/{ast,check,pathutil,preprocessor,_types}, chore/{clangpp,llpyg,_deprecated}, _xtool/*), the surviving xtool/clang/clang.go is self-contained, no runtime/build hot-path code is touched, and no secrets are involved. The link-arg safety control (CheckLinkArgs) still lives on the production path (internal/clang/clang.go, xtool/clang/clang.go).

The deletions do leave several dangling references outside the diff that should be cleaned up in this same PR. The diff only touches deleted files, so these can't be posted inline — listed below by priority.

Must fix — breaks CI

  • .github/workflows/llgo.yml:415-423 — the _xtool build tests step runs cd _xtool + llgo build -v ./.... _xtool/ is deleted, so cd _xtool fails and this job breaks on every non-Windows / Windows-amd64 run. Remove this step (and its _xtool comment block) as part of the deletion.

Should fix — broken install path / docs

  • doc/_readme/scripts/install_full.sh:5,7,8 — documented bootstrap does cd _xtool then llgo install ./... # compile pydump; _xtool/ no longer exists, so the install guide now fails. Fix the script and re-run embedme so the README block stays in sync.
  • README.md:559-563 — embedme-generated copy of the install block above; corrected automatically once the source script is fixed and embedme re-run.
  • README.md:541 — [pydump](_xtool/pydump) is now a dead relative link (the doc-link-checker / lychee job will flag it). Remove the bullet.
  • README.md:543 — [llpyg](chore/llpyg) dead relative link; its description also references the removed pydump. Remove or rewrite.

Nice to fix — stale references

  • README.md:246 — "import Python libraries into llgo through llpyg" points at removed tooling.
  • doc/LLGo-Bindings.md:52,81 — reference llpyg / pydump as the binding-generation path.
  • CLAUDE.md:16 — lists llpyg among chore/ dev tools (llgen, ssadump still exist; only llpyg is stale).
  • THIRD_PARTY_NOTICES.md:16 — attributes TinyGo-derived code to the deleted chore/_deprecated/ar/ar.go; drop this bullet so the attribution isn't dangling. (The surviving xtool/ar/ is separately BlakeSmith/MIT-attributed at line 51 and stays accurate.)

Checked — no change required

  • .github/scripts/test_classify_benchmark_changes.py:44 and classify_benchmark_changes.py:120 — the _xtool/... values are synthetic path-classification inputs/rules, not filesystem reads; tests still pass. Harmless; optionally tidy if you drop the _xtool classifier rule.

Net: the code removal itself is safe. The one actionable blocker is the CI step at llgo.yml:415-423; the rest are install-script/README/doc cleanups worth doing in the same PR.

@codecov

codecov Bot commented Oct 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown

LLGo WebAssembly build benchmarks

39823a4774b9 | workflow run | long-term charts

WebAssembly output sizes
Example, profile and compiler Wasm module vs base Generated JS glue vs base
cprintf/j32-emscripten/LLGo 147058 B 0 B / +0.0% 88541 B 0 B / +0.0%
cprintf/j32-goos-js/LLGo 145666 B 0 B / +0.0% 72985 B 0 B / +0.0%
cprintf/j64-emscripten-memory64/LLGo 134527 B 0 B / +0.0% 91712 B 0 B / +0.0%
cprintf/w32-goos-wasip1/LLGo 156385 B 0 B / +0.0% 0 B 0 B / 0.0%
cprintf/w32-wasi/LLGo 157083 B 0 B / +0.0% 0 B 0 B / 0.0%
fmtprintf/j32-emscripten/LLGo 2983979 B 0 B / +0.0% 120989 B 0 B / +0.0%
fmtprintf/j32-goos-js/Go 2526852 B 0 B / +0.0% 0 B 0 B / 0.0%
fmtprintf/j32-goos-js/LLGo 3074748 B 0 B / +0.0% 92052 B 0 B / +0.0%
fmtprintf/j64-emscripten-memory64/LLGo 2748837 B 0 B / +0.0% 125530 B 0 B / +0.0%
fmtprintf/w32-goos-wasip1/Go 2500019 B 0 B / +0.0% 0 B 0 B / 0.0%
fmtprintf/w32-goos-wasip1/LLGo 2343602 B 0 B / +0.0% 0 B 0 B / 0.0%
fmtprintf/w32-wasi/LLGo 2340298 B 0 B / +0.0% 0 B 0 B / 0.0%
j32-emscripten/LLGo 146575 B 0 B / +0.0% 88541 B 0 B / +0.0%
j32-goos-js/Go 1895533 B 0 B / +0.0% 0 B 0 B / 0.0%
j32-goos-js/LLGo 145416 B 0 B / +0.0% 72985 B 0 B / +0.0%
j64-emscripten-memory64/LLGo 134082 B 0 B / +0.0% 91712 B 0 B / +0.0%
reflectcall/j32-emscripten/LLGo 1510134 B 0 B / +0.0% 95329 B 0 B / +0.0%
reflectcall/j32-goos-js/Go 2191221 B 0 B / +0.0% 0 B 0 B / 0.0%
reflectcall/j32-goos-js/LLGo 1562301 B 0 B / +0.0% 79769 B 0 B / +0.0%
reflectcall/j64-emscripten-memory64/LLGo 1391259 B 0 B / +0.0% 99026 B 0 B / +0.0%
reflectcall/w32-goos-wasip1/Go 2205707 B 0 B / +0.0% 0 B 0 B / 0.0%
reflectcall/w32-goos-wasip1/LLGo 1273789 B 0 B / +0.0% 0 B 0 B / 0.0%
reflectcall/w32-wasi/LLGo 1271430 B 0 B / +0.0% 0 B 0 B / 0.0%
w32-goos-wasip1/Go 1909947 B 0 B / +0.0% 0 B 0 B / 0.0%
w32-goos-wasip1/LLGo 156059 B 0 B / +0.0% 0 B 0 B / 0.0%
w32-wasi/LLGo 156757 B 0 B / +0.0% 0 B 0 B / 0.0%
LLGo WebAssembly build measurements
Example and profile Build vs base
j32-emscripten 7.238 s +190.2 ms / +2.7% (worse)
j32-goos-js 7.105 s +184.2 ms / +2.7% (worse)
j64-emscripten-memory64 6.206 s +103.2 ms / +1.7% (worse)
reflectcall/w32-wasi 22.870 s -440.9 ms / -1.9% (better)
w32-goos-wasip1 4.406 s +35.11 ms / +0.8% (worse)
w32-wasi 4.165 s +101.3 ms / +2.5% (worse)

Compared with b40b19be741f measured in the same runner job.

@github-actions

Copy link
Copy Markdown

LLGo baseline benchmarks

39823a4774b9 | workflow run | long-term charts

Program measurements

Platform Workload File size vs base Text size vs base Build vs base Run vs base
Linux cprintf 8544 B 0 B / +0.0% 387 B 0 B / +0.0% 766.132 ms +32.25 ms / +4.4% (worse) 1.213 ms -1.414 us / -0.1% (better)
Linux cprintf-lto 8336 B 0 B / +0.0% 368 B 0 B / +0.0% 746.612 ms +5.537 ms / +0.7% (worse) 1.288 ms +52.28 us / +4.2% (worse)
Linux fmtprintf 2701768 B -56 B / -0.002073% (better) 506897 B 0 B / +0.0% 4.743 s -236.4 ms / -4.7% (better) 3.850 ms -164.3 us / -4.1% (better)
Linux fmtprintf-lto 2193800 B +32 B / +0.001459% (worse) 444811 B 0 B / +0.0% 13.606 s -269.6 ms / -1.9% (better) 3.654 ms -233.1 us / -6.0% (better)
Linux println 242016 B +56 B / +0.02314% (worse) 17095 B 0 B / +0.0% 760.607 ms -4.834 ms / -0.6% (better) 1.642 ms +18.36 us / +1.1% (worse)
Linux println-lto 105152 B -8 B / -0.007607% (better) 14484 B 0 B / +0.0% 1.058 s -23.08 ms / -2.1% (better) 1.651 ms +54.23 us / +3.4% (worse)
macOS cprintf 50672 B 0 B / +0.0% 4409 B 0 B / +0.0% 727.603 ms -223.8 ms / -23.5% (better) 2.872 ms -240.1 us / -7.7% (better)
macOS cprintf-lto 50592 B -16 B / -0.03162% (better) 161 B 0 B / +0.0% 719.362 ms -359.8 ms / -33.3% (better) 2.157 ms -1.187 ms / -35.5% (better)
macOS fmtprintf 1659808 B 0 B / +0.0% 883744 B 0 B / +0.0% 2.876 s -1.14 s / -28.4% (better) 24.741 ms -4.603 ms / -15.7% (better)
macOS fmtprintf-lto 1362160 B -16 B / -0.001175% (better) 766828 B 0 B / +0.0% 6.373 s -485.9 ms / -7.1% (better) 63.200 ms +3.158 ms / +5.3% (worse)
macOS println 96512 B 0 B / +0.0% 24519 B 0 B / +0.0% 679.111 ms -200.1 ms / -22.8% (better) 3.018 ms -3.043 ms / -50.2% (better)
macOS println-lto 84112 B -16 B / -0.01902% (better) 21732 B 0 B / +0.0% 771.828 ms -298.6 ms / -27.9% (better) 2.894 ms -939.6 us / -24.5% (better)
Windows MinGW cprintf 676352 B 0 B / +0.0% 4390 B 0 B / +0.0% 1.625 s -6.649 ms / -0.4% (better) 3.813 ms -59.3 us / -1.5% (better)
Windows MinGW cprintf-lto 44544 B 0 B / +0.0% 4342 B 0 B / +0.0% 1.643 s -49.88 ms / -2.9% (better) 3.583 ms -253.3 us / -6.6% (better)
Windows MinGW fmtprintf 5473280 B 0 B / +0.0% 605974 B 0 B / +0.0% 6.380 s +940.7 ms / +17.3% (worse) 12.157 ms +683.8 us / +6.0% (worse)
Windows MinGW fmtprintf-lto 4161024 B 0 B / +0.0% 553094 B 0 B / +0.0% 12.881 s -164.1 ms / -1.3% (better) 10.485 ms -149.5 us / -1.4% (better)
Windows MinGW println 733696 B 0 B / +0.0% 25286 B 0 B / +0.0% 1.648 s +16.12 ms / +1.0% (worse) 7.080 ms -55.6 us / -0.8% (better)
Windows MinGW println-lto 210944 B 0 B / +0.0% 22166 B 0 B / +0.0% 1.898 s -10.14 ms / -0.5% (better) 6.474 ms -379.4 us / -5.5% (better)
Windows MinGW 386 cprintf 627200 B 0 B / +0.0% 5352 B 0 B / +0.0% 1.601 s -40.65 ms / -2.5% (better) 5.042 ms +40.3 us / +0.8% (worse)
Windows MinGW 386 cprintf-lto 104448 B 0 B / +0.0% 5112 B 0 B / +0.0% 1.650 s +6.883 ms / +0.4% (worse) 5.076 ms -1.54 ms / -23.3% (better)
Windows MinGW 386 fmtprintf 4776960 B 0 B / +0.0% 473902 B 0 B / +0.0% 5.473 s +19.67 ms / +0.4% (worse) 11.881 ms -97.3 us / -0.8% (better)
Windows MinGW 386 fmtprintf-lto 4163072 B 0 B / +0.0% 452294 B 0 B / +0.0% 12.600 s +10.61 ms / +0.1% (worse) 13.016 ms +480.4 us / +3.8% (worse)
Windows MinGW 386 println 681472 B 0 B / +0.0% 21694 B 0 B / +0.0% 1.618 s +22.06 ms / +1.4% (worse) 8.585 ms -166.9 us / -1.9% (better)
Windows MinGW 386 println-lto 260608 B 0 B / +0.0% 19514 B 0 B / +0.0% 1.865 s -26.99 ms / -1.4% (better) 8.739 ms +173.3 us / +2.0% (worse)
Windows MinGW ARM64 cprintf 686592 B 0 B / +0.0% 4204 B 0 B / +0.0% 1.903 s +79.1 ms / +4.3% (worse) 6.763 ms +648.4 us / +10.6% (worse)
Windows MinGW ARM64 cprintf-lto 44032 B 0 B / +0.0% 4156 B 0 B / +0.0% 1.937 s +74.96 ms / +4.0% (worse) 6.139 ms +60.6 us / +1.0% (worse)
Windows MinGW ARM64 fmtprintf 5382144 B 0 B / +0.0% 514060 B 0 B / +0.0% 5.404 s +158.2 ms / +3.0% (worse) 15.563 ms +447.5 us / +3.0% (worse)
Windows MinGW ARM64 fmtprintf-lto 4326912 B 0 B / +0.0% 480120 B 0 B / +0.0% 12.146 s +68.13 ms / +0.6% (worse) 14.951 ms +660 us / +4.6% (worse)
Windows MinGW ARM64 println 739840 B 0 B / +0.0% 23928 B 0 B / +0.0% 1.915 s +38.85 ms / +2.1% (worse) 11.377 ms +593.1 us / +5.5% (worse)
Windows MinGW ARM64 println-lto 218112 B 0 B / +0.0% 21284 B 0 B / +0.0% 2.182 s +61.83 ms / +2.9% (worse) 10.375 ms -120.7 us / -1.1% (better)
Windows MSVC cprintf 921088 B 0 B / +0.0% 66003 B 0 B / +0.0% 1.413 s -257.1 ms / -15.4% (better) 3.361 ms +97.3 us / +3.0% (worse)
Windows MSVC cprintf-lto 292352 B 0 B / +0.0% 65971 B 0 B / +0.0% 1.684 s +254.5 ms / +17.8% (worse) 3.305 ms -8.3 us / -0.3% (better)
Windows MSVC fmtprintf 5774848 B 0 B / +0.0% 701894 B 0 B / +0.0% 4.998 s +113.2 ms / +2.3% (worse) 10.674 ms -411.7 us / -3.7% (better)
Windows MSVC fmtprintf-lto 4484096 B 0 B / +0.0% 652806 B 0 B / +0.0% 11.377 s -122.4 ms / -1.1% (better) 11.610 ms +123.2 us / +1.1% (worse)
Windows MSVC println 1044992 B 0 B / +0.0% 121334 B 0 B / +0.0% 1.425 s +5.985 ms / +0.4% (worse) 6.781 ms -9.4 us / -0.1% (better)
Windows MSVC println-lto 531456 B 0 B / +0.0% 118870 B 0 B / +0.0% 1.657 s -14.4 ms / -0.9% (better) 6.681 ms -241.4 us / -3.5% (better)
Windows MSVC 386 cprintf 538624 B 0 B / +0.0% 3947 B 0 B / +0.0% 1.148 s +25.2 ms / +2.2% (worse) 4.509 ms -579.4 us / -11.4% (better)
Windows MSVC 386 cprintf-lto 44544 B 0 B / +0.0% 3901 B 0 B / +0.0% 1.137 s -2.841 ms / -0.2% (better) 4.401 ms -564 us / -11.4% (better)
Windows MSVC 386 fmtprintf 4508672 B 0 B / +0.0% 457314 B 0 B / +0.0% 4.172 s +125.9 ms / +3.1% (worse) 10.645 ms +661.6 us / +6.6% (worse)
Windows MSVC 386 fmtprintf-lto 3910656 B 0 B / +0.0% 427681 B 0 B / +0.0% 9.696 s +353.3 ms / +3.8% (worse) 11.709 ms +398.9 us / +3.5% (worse)
Windows MSVC 386 println 593920 B 0 B / +0.0% 20566 B 0 B / +0.0% 1.178 s +18.46 ms / +1.6% (worse) 7.426 ms -254.6 us / -3.3% (better)
Windows MSVC 386 println-lto 200192 B 0 B / +0.0% 18711 B 0 B / +0.0% 1.328 s -3.251 ms / -0.2% (better) 7.380 ms +64.7 us / +0.9% (worse)
Windows MSVC ARM64 cprintf 687616 B 0 B / +0.0% 4240 B 0 B / +0.0% 1.497 s -16.22 ms / -1.1% (better) 6.492 ms -108.2 us / -1.6% (better)
Windows MSVC ARM64 cprintf-lto 49152 B 0 B / +0.0% 4140 B 0 B / +0.0% 1.536 s +12.86 ms / +0.8% (worse) 6.520 ms +201 us / +3.2% (worse)
Windows MSVC ARM64 fmtprintf 5379072 B 0 B / +0.0% 514164 B 0 B / +0.0% 4.825 s -7.861 ms / -0.2% (better) 15.134 ms -322.5 us / -2.1% (better)
Windows MSVC ARM64 fmtprintf-lto 4334080 B 0 B / +0.0% 480960 B 0 B / +0.0% 11.003 s +67.54 ms / +0.6% (worse) 15.601 ms -871.8 us / -5.3% (better)
Windows MSVC ARM64 println 741376 B 0 B / +0.0% 24200 B 0 B / +0.0% 1.517 s +34.45 ms / +2.3% (worse) 11.425 ms -63.2 us / -0.6% (better)
Windows MSVC ARM64 println-lto 223232 B 0 B / +0.0% 21688 B 0 B / +0.0% 1.729 s +14.03 ms / +0.8% (worse) 10.783 ms -747 us / -6.5% (better)
Core language and compiler benchmarks
Platform Benchmark ns/op vs base
Linux BenchmarkLookupPCRandom 14.640 ns/op +0.03 ns/op / +0.2% (worse)
Linux BenchmarkMergeCompilerFlags 196.200 ns/op -14.6 ns/op / -6.9% (better)
Linux BenchmarkMergeLinkerFlags 126 ns/op -8.2 ns/op / -6.1% (better)
Linux BenchmarkChannelBuffered 55.010 ns/op -0.2 ns/op / -0.4% (better)
Linux BenchmarkChannelHandoff 12993 ns/op +11 ns/op / +0.1% (worse)
Linux BenchmarkDefer 47.010 ns/op 0 ns/op / +0.0%
Linux BenchmarkDirectCall 1.165 ns/op +0.002 ns/op / +0.2% (worse)
Linux BenchmarkGlobalRead 1.164 ns/op 0 ns/op / +0.0%
Linux BenchmarkGlobalWrite 7.759 ns/op +0.006 ns/op / +0.1% (worse)
Linux BenchmarkGoroutine 24713 ns/op +995 ns/op / +4.2% (worse)
Linux BenchmarkInterfaceCall 6.212 ns/op +0.004 ns/op / +0.1% (worse)
Linux BenchmarkRuntimeGetG 2.956 ns/op -0.052 ns/op / -1.7% (better)
macOS BenchmarkLookupPCRandom 10.860 ns/op -3.76 ns/op / -25.7% (better)
macOS BenchmarkMergeCompilerFlags 97.080 ns/op -63.52 ns/op / -39.6% (better)
macOS BenchmarkMergeLinkerFlags 55.230 ns/op -26.83 ns/op / -32.7% (better)
macOS BenchmarkChannelBuffered 25.150 ns/op -4.84 ns/op / -16.1% (better)
macOS BenchmarkChannelHandoff 7285 ns/op -1079 ns/op / -12.9% (better)
macOS BenchmarkDefer 36.140 ns/op -1.5 ns/op / -4.0% (better)
macOS BenchmarkDirectCall 1.116 ns/op +0.051 ns/op / +4.8% (worse)
macOS BenchmarkGlobalRead 1.270 ns/op +0.171 ns/op / +15.6% (worse)
macOS BenchmarkGlobalWrite 1.268 ns/op +0.21 ns/op / +19.8% (worse)
macOS BenchmarkGoroutine 50755 ns/op +18567 ns/op / +57.7% (worse)
macOS BenchmarkInterfaceCall 4.195 ns/op +0.108 ns/op / +2.6% (worse)
macOS BenchmarkRuntimeGetG 2.232 ns/op +0.085 ns/op / +4.0% (worse)
Windows MinGW BenchmarkLookupPCRandom 13.240 ns/op +0.04 ns/op / +0.3% (worse)
Windows MinGW BenchmarkMergeCompilerFlags 629.700 ns/op +2.1 ns/op / +0.3% (worse)
Windows MinGW BenchmarkMergeLinkerFlags 555.200 ns/op +16.1 ns/op / +3.0% (worse)
Windows MinGW BenchmarkChannelBuffered 30.100 ns/op -0.59 ns/op / -1.9% (better)
Windows MinGW BenchmarkChannelHandoff 1125 ns/op +26 ns/op / +2.4% (worse)
Windows MinGW BenchmarkDefer 54.240 ns/op -0.45 ns/op / -0.8% (better)
Windows MinGW BenchmarkDirectCall 1.547 ns/op -0.001 ns/op / -0.1% (better)
Windows MinGW BenchmarkGlobalRead 1.550 ns/op 0 ns/op / +0.0%
Windows MinGW BenchmarkGlobalWrite 2.457 ns/op -0.007 ns/op / -0.3% (better)
Windows MinGW BenchmarkGoroutine 93300 ns/op +2569 ns/op / +2.8% (worse)
Windows MinGW BenchmarkInterfaceCall 8.688 ns/op -0.001 ns/op / -0.01151% (better)
Windows MinGW BenchmarkRuntimeGetG 1.857 ns/op -0.003 ns/op / -0.2% (better)
Windows MinGW 386 BenchmarkLookupPCRandom 26.460 ns/op -0.26 ns/op / -1.0% (better)
Windows MinGW 386 BenchmarkMergeCompilerFlags 748.500 ns/op -13.7 ns/op / -1.8% (better)
Windows MinGW 386 BenchmarkMergeLinkerFlags 693.800 ns/op -2.4 ns/op / -0.3% (better)
Windows MinGW 386 BenchmarkChannelBuffered 40.220 ns/op -0.02 ns/op / -0.0497% (better)
Windows MinGW 386 BenchmarkChannelHandoff 855.700 ns/op +42 ns/op / +5.2% (worse)
Windows MinGW 386 BenchmarkDefer 43.040 ns/op -0.26 ns/op / -0.6% (better)
Windows MinGW 386 BenchmarkDirectCall 1.549 ns/op +0.002 ns/op / +0.1% (worse)
Windows MinGW 386 BenchmarkGlobalRead 1.552 ns/op +0.001 ns/op / +0.1% (worse)
Windows MinGW 386 BenchmarkGlobalWrite 7.794 ns/op -0.004 ns/op / -0.1% (better)
Windows MinGW 386 BenchmarkGoroutine 101843 ns/op -4087 ns/op / -3.9% (better)
Windows MinGW 386 BenchmarkInterfaceCall 8.378 ns/op +0.007 ns/op / +0.1% (worse)
Windows MinGW 386 BenchmarkRuntimeGetG 2.480 ns/op +0.002 ns/op / +0.1% (worse)
Windows MinGW ARM64 BenchmarkLookupPCRandom 12.110 ns/op +0.03 ns/op / +0.2% (worse)
Windows MinGW ARM64 BenchmarkMergeCompilerFlags 584.700 ns/op +9 ns/op / +1.6% (worse)
Windows MinGW ARM64 BenchmarkMergeLinkerFlags 542.200 ns/op +0.6 ns/op / +0.1% (worse)
Windows MinGW ARM64 BenchmarkChannelBuffered 37.580 ns/op -1.8 ns/op / -4.6% (better)
Windows MinGW ARM64 BenchmarkChannelHandoff 3064 ns/op -325 ns/op / -9.6% (better)
Windows MinGW ARM64 BenchmarkDefer 53.720 ns/op -0.7 ns/op / -1.3% (better)
Windows MinGW ARM64 BenchmarkDirectCall 0.589 ns/op -0.0004 ns/op / -0.1% (better)
Windows MinGW ARM64 BenchmarkGlobalRead 0.664 ns/op -0.0004 ns/op / -0.1% (better)
Windows MinGW ARM64 BenchmarkGlobalWrite 0.663 ns/op -0.0002 ns/op / -0.03014% (better)
Windows MinGW ARM64 BenchmarkGoroutine 62207 ns/op +250 ns/op / +0.4% (worse)
Windows MinGW ARM64 BenchmarkInterfaceCall 4.236 ns/op -0.001 ns/op / -0.0236% (better)
Windows MinGW ARM64 BenchmarkRuntimeGetG 1.799 ns/op -0.01 ns/op / -0.6% (better)
Windows MSVC BenchmarkLookupPCRandom 13.230 ns/op +0.11 ns/op / +0.8% (worse)
Windows MSVC BenchmarkMergeCompilerFlags 607.300 ns/op -12.1 ns/op / -2.0% (better)
Windows MSVC BenchmarkMergeLinkerFlags 542.700 ns/op +0.2 ns/op / +0.03687% (worse)
Windows MSVC BenchmarkChannelBuffered 28.810 ns/op -0.01 ns/op / -0.0347% (better)
Windows MSVC BenchmarkChannelHandoff 1103 ns/op -3 ns/op / -0.3% (better)
Windows MSVC BenchmarkDefer 67.190 ns/op +0.63 ns/op / +0.9% (worse)
Windows MSVC BenchmarkDirectCall 1.547 ns/op 0 ns/op / +0.0%
Windows MSVC BenchmarkGlobalRead 1.548 ns/op 0 ns/op / +0.0%
Windows MSVC BenchmarkGlobalWrite 2.454 ns/op -0.003 ns/op / -0.1% (better)
Windows MSVC BenchmarkGoroutine 86308 ns/op +336 ns/op / +0.4% (worse)
Windows MSVC BenchmarkInterfaceCall 8.693 ns/op 0 ns/op / +0.0%
Windows MSVC BenchmarkRuntimeGetG 2.171 ns/op -0.002 ns/op / -0.1% (better)
Windows MSVC 386 BenchmarkLookupPCRandom 21.500 ns/op -0.07 ns/op / -0.3% (better)
Windows MSVC 386 BenchmarkMergeCompilerFlags 561.600 ns/op -2.8 ns/op / -0.5% (better)
Windows MSVC 386 BenchmarkMergeLinkerFlags 520.200 ns/op +1.9 ns/op / +0.4% (worse)
Windows MSVC 386 BenchmarkChannelBuffered 34.030 ns/op +0.14 ns/op / +0.4% (worse)
Windows MSVC 386 BenchmarkChannelHandoff 847.200 ns/op -42 ns/op / -4.7% (better)
Windows MSVC 386 BenchmarkDefer 38.920 ns/op +1.15 ns/op / +3.0% (worse)
Windows MSVC 386 BenchmarkDirectCall 1.358 ns/op +0.001 ns/op / +0.1% (worse)
Windows MSVC 386 BenchmarkGlobalRead 1.358 ns/op +0.001 ns/op / +0.1% (worse)
Windows MSVC 386 BenchmarkGlobalWrite 6.976 ns/op -0.005 ns/op / -0.1% (better)
Windows MSVC 386 BenchmarkGoroutine 71349 ns/op -2638 ns/op / -3.6% (better)
Windows MSVC 386 BenchmarkInterfaceCall 7.332 ns/op -0.007 ns/op / -0.1% (better)
Windows MSVC 386 BenchmarkRuntimeGetG 1.906 ns/op +0.003 ns/op / +0.2% (worse)
Windows MSVC ARM64 BenchmarkLookupPCRandom 12.100 ns/op +0.05 ns/op / +0.4% (worse)
Windows MSVC ARM64 BenchmarkMergeCompilerFlags 566.300 ns/op +3.6 ns/op / +0.6% (worse)
Windows MSVC ARM64 BenchmarkMergeLinkerFlags 534.600 ns/op +10.8 ns/op / +2.1% (worse)
Windows MSVC ARM64 BenchmarkChannelBuffered 38.530 ns/op +0.32 ns/op / +0.8% (worse)
Windows MSVC ARM64 BenchmarkChannelHandoff 3079 ns/op +116 ns/op / +3.9% (worse)
Windows MSVC ARM64 BenchmarkDefer 57.910 ns/op -0.35 ns/op / -0.6% (better)
Windows MSVC ARM64 BenchmarkDirectCall 0.590 ns/op +0.0001 ns/op / +0.01696% (worse)
Windows MSVC ARM64 BenchmarkGlobalRead 0.590 ns/op -0.0006 ns/op / -0.1% (better)
Windows MSVC ARM64 BenchmarkGlobalWrite 3.756 ns/op -0.008 ns/op / -0.2% (better)
Windows MSVC ARM64 BenchmarkGoroutine 54880 ns/op -1879 ns/op / -3.3% (better)
Windows MSVC ARM64 BenchmarkInterfaceCall 4.146 ns/op +0.003 ns/op / +0.1% (worse)
Windows MSVC ARM64 BenchmarkRuntimeGetG 1.799 ns/op +0.029 ns/op / +1.6% (worse)
Timer runtime benchmarks
Platform Operation and runtime ns/op vs base
Linux AfterFuncZeroDelivery/Go 910.800 ns/op +7 ns/op / +0.8% (worse)
Linux AfterFuncZeroDelivery/LLGo 36685 ns/op -719 ns/op / -1.9% (better)
Linux CreateStop/Go 290.800 ns/op +2 ns/op / +0.7% (worse)
Linux CreateStop/LLGo 1869 ns/op +15 ns/op / +0.8% (worse)
Linux RearmStopped/Go 114.700 ns/op -1.1 ns/op / -0.9% (better)
Linux RearmStopped/LLGo 1430 ns/op +105 ns/op / +7.9% (worse)
Linux ResetActive/Go 67.470 ns/op -1.01 ns/op / -1.5% (better)
Linux ResetActive/LLGo 743.500 ns/op +1.8 ns/op / +0.2% (worse)
Linux ResetHeap1024/Go 67.170 ns/op +0.05 ns/op / +0.1% (worse)
Linux ResetHeap1024/LLGo 160.800 ns/op +0.2 ns/op / +0.1% (worse)
macOS AfterFuncZeroDelivery/Go 380.500 ns/op -86.3 ns/op / -18.5% (better)
macOS AfterFuncZeroDelivery/LLGo 39523 ns/op -2732 ns/op / -6.5% (better)
macOS CreateStop/Go 116 ns/op -29.7 ns/op / -20.4% (better)
macOS CreateStop/LLGo 406 ns/op +7.2 ns/op / +1.8% (worse)
macOS RearmStopped/Go 56.980 ns/op -12.39 ns/op / -17.9% (better)
macOS RearmStopped/LLGo 295.400 ns/op -147.3 ns/op / -33.3% (better)
macOS ResetActive/Go 37.980 ns/op -6.25 ns/op / -14.1% (better)
macOS ResetActive/LLGo 148 ns/op +0.9 ns/op / +0.6% (worse)
macOS ResetHeap1024/Go 47.680 ns/op -3.23 ns/op / -6.3% (better)
macOS ResetHeap1024/LLGo 75.830 ns/op -4.37 ns/op / -5.4% (better)
Windows MinGW AfterFuncZeroDelivery/Go 552.500 ns/op +8.4 ns/op / +1.5% (worse)
Windows MinGW AfterFuncZeroDelivery/LLGo 179912 ns/op -10103 ns/op / -5.3% (better)
Windows MinGW CreateStop/Go 116.300 ns/op +0.5 ns/op / +0.4% (worse)
Windows MinGW CreateStop/LLGo 456.100 ns/op -13.2 ns/op / -2.8% (better)
Windows MinGW RearmStopped/Go 31.440 ns/op +0.08 ns/op / +0.3% (worse)
Windows MinGW RearmStopped/LLGo 225.900 ns/op -7.8 ns/op / -3.3% (better)
Windows MinGW ResetActive/Go 20.110 ns/op +0.01 ns/op / +0.04975% (worse)
Windows MinGW ResetActive/LLGo 153.100 ns/op +17.2 ns/op / +12.7% (worse)
Windows MinGW ResetHeap1024/Go 20.430 ns/op +0.01 ns/op / +0.04897% (worse)
Windows MinGW ResetHeap1024/LLGo 117 ns/op -3.1 ns/op / -2.6% (better)
Windows MinGW 386 AfterFuncZeroDelivery/Go 970.200 ns/op +14.2 ns/op / +1.5% (worse)
Windows MinGW 386 AfterFuncZeroDelivery/LLGo 195156 ns/op -25998 ns/op / -11.8% (better)
Windows MinGW 386 CreateStop/Go 194.300 ns/op +2.6 ns/op / +1.4% (worse)
Windows MinGW 386 CreateStop/LLGo 464.500 ns/op -51.4 ns/op / -10.0% (better)
Windows MinGW 386 RearmStopped/Go 63.230 ns/op -0.15 ns/op / -0.2% (better)
Windows MinGW 386 RearmStopped/LLGo 318 ns/op -101.5 ns/op / -24.2% (better)
Windows MinGW 386 ResetActive/Go 39.220 ns/op +0.15 ns/op / +0.4% (worse)
Windows MinGW 386 ResetActive/LLGo 929.200 ns/op -22.6 ns/op / -2.4% (better)
Windows MinGW 386 ResetHeap1024/Go 39.460 ns/op +0.09 ns/op / +0.2% (worse)
Windows MinGW 386 ResetHeap1024/LLGo 173.500 ns/op -16.4 ns/op / -8.6% (better)
Windows MinGW ARM64 AfterFuncZeroDelivery/Go 659.700 ns/op -7 ns/op / -1.0% (better)
Windows MinGW ARM64 AfterFuncZeroDelivery/LLGo 145944 ns/op -3270 ns/op / -2.2% (better)
Windows MinGW ARM64 CreateStop/Go 200.400 ns/op +1.1 ns/op / +0.6% (worse)
Windows MinGW ARM64 CreateStop/LLGo 355.400 ns/op -17.8 ns/op / -4.8% (better)
Windows MinGW ARM64 RearmStopped/Go 70.550 ns/op +0.05 ns/op / +0.1% (worse)
Windows MinGW ARM64 RearmStopped/LLGo 218 ns/op +3.3 ns/op / +1.5% (worse)
Windows MinGW ARM64 ResetActive/Go 31.080 ns/op -0.03 ns/op / -0.1% (better)
Windows MinGW ARM64 ResetActive/LLGo 111.500 ns/op -7.8 ns/op / -6.5% (better)
Windows MinGW ARM64 ResetHeap1024/Go 31.080 ns/op -0.09 ns/op / -0.3% (better)
Windows MinGW ARM64 ResetHeap1024/LLGo 110.200 ns/op -1.3 ns/op / -1.2% (better)
Windows MSVC AfterFuncZeroDelivery/Go 551.800 ns/op -6.6 ns/op / -1.2% (better)
Windows MSVC AfterFuncZeroDelivery/LLGo 171932 ns/op +638 ns/op / +0.4% (worse)
Windows MSVC CreateStop/Go 114.700 ns/op -1.1 ns/op / -0.9% (better)
Windows MSVC CreateStop/LLGo 380.100 ns/op -8.3 ns/op / -2.1% (better)
Windows MSVC RearmStopped/Go 31.180 ns/op -0.37 ns/op / -1.2% (better)
Windows MSVC RearmStopped/LLGo 225.900 ns/op +3.5 ns/op / +1.6% (worse)
Windows MSVC ResetActive/Go 19.970 ns/op -0.15 ns/op / -0.7% (better)
Windows MSVC ResetActive/LLGo 136.900 ns/op -17.3 ns/op / -11.2% (better)
Windows MSVC ResetHeap1024/Go 20.320 ns/op -0.13 ns/op / -0.6% (better)
Windows MSVC ResetHeap1024/LLGo 116.700 ns/op -0.4 ns/op / -0.3% (better)
Windows MSVC 386 AfterFuncZeroDelivery/Go 788.900 ns/op +21.9 ns/op / +2.9% (worse)
Windows MSVC 386 AfterFuncZeroDelivery/LLGo 130284 ns/op -1563 ns/op / -1.2% (better)
Windows MSVC 386 CreateStop/Go 171.400 ns/op +1.7 ns/op / +1.0% (worse)
Windows MSVC 386 CreateStop/LLGo 351.700 ns/op -3.9 ns/op / -1.1% (better)
Windows MSVC 386 RearmStopped/Go 56.690 ns/op 0 ns/op / +0.0%
Windows MSVC 386 RearmStopped/LLGo 243.500 ns/op +1.4 ns/op / +0.6% (worse)
Windows MSVC 386 ResetActive/Go 32.600 ns/op -0.01 ns/op / -0.03067% (better)
Windows MSVC 386 ResetActive/LLGo 194.400 ns/op -4.9 ns/op / -2.5% (better)
Windows MSVC 386 ResetHeap1024/Go 32.830 ns/op -0.02 ns/op / -0.1% (better)
Windows MSVC 386 ResetHeap1024/LLGo 136.300 ns/op +2.8 ns/op / +2.1% (worse)
Windows MSVC ARM64 AfterFuncZeroDelivery/Go 692 ns/op +19 ns/op / +2.8% (worse)
Windows MSVC ARM64 AfterFuncZeroDelivery/LLGo 134773 ns/op -2531 ns/op / -1.8% (better)
Windows MSVC ARM64 CreateStop/Go 198.200 ns/op +1.6 ns/op / +0.8% (worse)
Windows MSVC ARM64 CreateStop/LLGo 336.200 ns/op -8.7 ns/op / -2.5% (better)
Windows MSVC ARM64 RearmStopped/Go 70.650 ns/op -0.19 ns/op / -0.3% (better)
Windows MSVC ARM64 RearmStopped/LLGo 218.300 ns/op -8.7 ns/op / -3.8% (better)
Windows MSVC ARM64 ResetActive/Go 30.910 ns/op 0 ns/op / +0.0%
Windows MSVC ARM64 ResetActive/LLGo 105.300 ns/op -4.6 ns/op / -4.2% (better)
Windows MSVC ARM64 ResetHeap1024/Go 31.040 ns/op +0.05 ns/op / +0.2% (worse)
Windows MSVC ARM64 ResetHeap1024/LLGo 114.500 ns/op -2.4 ns/op / -2.1% (better)

Compared with 53a91b998e81 measured in the same runner job.

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.

1 participant