Skip to content

test/goroot: classify Windows 386 timeouts and retire fixed xfails - #2621

Merged
cpunion merged 4 commits into
xgo-dev:mainfrom
cpunion:codex/goroot-xfail-baseline-20260918
Sep 18, 2026
Merged

cpunion merged 4 commits into
xgo-dev:mainfrom
cpunion:codex/goroot-xfail-baseline-20260918

Conversation

@cpunion

@cpunion cpunion commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Classifies Windows 386 timeouts and synchronizes xfail baseline with recent compiler fixes identified in issue #2620:

  1. Windows 386 Timeout Budgets:

    • fixedbugs/issue79186.go: Add windows/386 to timeouts (90s) and flakes. All other platforms already had 90s configured for this 51.2M-operation RWMutex stress loop; windows/386 was previously omitted.
    • fixedbugs/issue30041.go: Add windows/386 to timeouts (90s) and flakes. The continuous 1,000-iteration GC and reflect.MakeFunc stress loop timed out at 60.021s on loaded 386 runners.
    • fixedbugs/issue39541.go: Add windows/386 to timeouts (90s) and flakes. The 100 goroutine × 10,000 call (1M total) reflect.MakeFunc concurrent test timed out at 63.7s on loaded 386 runners.
    • index0.go and abi/uglyfib.go: Remove version: go1.27 constraint from timeouts and flakes so the 90s budget covers windows/386 across all Go versions (fixing unexpected-fail on Go 1.26 and aligning runner-load entries).
  2. Retire Fixed XFails:

Fixes #2620

- Add 90s timeouts and flake classification for fixedbugs/issue79186.go, fixedbugs/issue30041.go, and fixedbugs/issue39541.go on windows/386.
- Remove version: go1.27 constraint from index0.go timeout and flake entries so Windows 386 uses the 90s budget across all supported Go releases.
- Remove fixedbugs/issue80196.go from xfails: per-call stack-slot semantics for loops fixed the stack overflow in PR xgo-dev#2530 and PR xgo-dev#2613.
- Remove fixedbugs/issue75764.go on windows/amd64 from xfails: the deep interface tail-call test now passes reliably.
@cpunion cpunion added the go-test-compat Go standard-library and GOROOT test compatibility label Sep 18, 2026

@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: goroot xfail baseline update

This is a config-only change to test/goroot/xfail.yaml. I verified locally that the YAML parses, has no duplicate entries, and the relevant goroot unit tests pass (TestRepositoryExpectationsAreSeparated, TestObservedFailuresHaveXFailClassifications, TestObservedPassesDoNotHaveXFailClassifications, the TestWindows386* set). The three newly added windows/386 cases (issue79186, issue30041, issue39541) are correctly paired timeout+flake entries, their reason strings are factually accurate against the upstream test sources (verified the 51.2M RWMutex ops and 1M reflect.MakeFunc call counts), and removing the two xfails leaves no orphaned entries.

Two things worth confirming before merge (non-blocking):

1. Removed xfails now hard-gate CI. Deleting fixedbugs/issue80196.go and fixedbugs/issue75764.go from xfails: means an unclassified failure on either case becomes an unexpected hard failure (t.Fatal), not a tolerated one. That is correct if both cases now reliably pass across the full matrix (both Go releases, all platform lanes) — the removed entries were unpinned, so they gated every lane. Please confirm they pass, and consider noting in the PR/commit which fix retired each xfail, since the file keeps no history of removed entries (the x/tools xfails set a precedent by citing the resolving PR).

2. Flake entries permanently suppress failures with no retry. The runner does not re-run flaky cases; a flakes: entry simply reclassifies a single failing result as tolerated. So if a listed case regresses to always failing on windows/386, CI stays green indefinitely. Worth having the new flake entries reference a tracking issue so they don't become permanent blind spots. Note the index0.go win/386 flake reason (line 181) explicitly covers "fail during LLVM target object emission" — a real failure mode, not just slowness; confirm that broad suppression is intentional.

See the inline comment for the one code-consistency item.

Comment thread test/goroot/xfail.yaml
@codecov

codecov Bot commented Sep 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@cpunion cpunion added go-test-compat Go standard-library and GOROOT test compatibility and removed go-test-compat Go standard-library and GOROOT test compatibility labels Sep 18, 2026
@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

LLGo WebAssembly build benchmarks

f90617ed6e2f | 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 135746 B 0 B / +0.0% 70786 B 0 B / +0.0%
cprintf/j32-goos-js/LLGo 133995 B 0 B / +0.0% 69150 B 0 B / +0.0%
cprintf/j64-emscripten-memory64/LLGo 124243 B 0 B / +0.0% 73998 B 0 B / +0.0%
cprintf/w32-goos-wasip1/LLGo 138261 B 0 B / +0.0% 0 B 0 B / 0.0%
cprintf/w32-wasi/LLGo 138265 B 0 B / +0.0% 0 B 0 B / 0.0%
fmtprintf/j32-emscripten/LLGo 3090505 B 0 B / +0.0% 114540 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 3082544 B 0 B / +0.0% 98239 B 0 B / +0.0%
fmtprintf/j64-emscripten-memory64/LLGo 2829044 B 0 B / +0.0% 121521 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 2828775 B 0 B / +0.0% 0 B 0 B / 0.0%
fmtprintf/w32-wasi/LLGo 2697330 B 0 B / +0.0% 0 B 0 B / 0.0%
j32-emscripten/LLGo 135020 B 0 B / +0.0% 70786 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 133441 B 0 B / +0.0% 69150 B 0 B / +0.0%
j64-emscripten-memory64/LLGo 123573 B 0 B / +0.0% 73998 B 0 B / +0.0%
reflectcall/j32-emscripten/LLGo 1481254 B 0 B / +0.0% 88949 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 1482975 B 0 B / +0.0% 87313 B 0 B / +0.0%
reflectcall/j64-emscripten-memory64/LLGo 1368281 B 0 B / +0.0% 94158 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 1534123 B 0 B / +0.0% 0 B 0 B / 0.0%
reflectcall/w32-wasi/LLGo 1460764 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 137550 B 0 B / +0.0% 0 B 0 B / 0.0%
w32-wasi/LLGo 137621 B 0 B / +0.0% 0 B 0 B / 0.0%

LLGo WebAssembly build measurements

Example and profile Build vs base
j32-emscripten 6.299 s -413.8 ms / -6.2% (better)
j32-goos-js 6.541 s -135.5 ms / -2.0% (better)
j64-emscripten-memory64 5.687 s -144.1 ms / -2.5% (better)
reflectcall/w32-wasi 28.325 s -543.8 ms / -1.9% (better)
w32-goos-wasip1 4.876 s -226.1 ms / -4.4% (better)
w32-wasi 4.934 s +254.3 ms / +5.4% (worse)

Compared with a1a44a6e765c measured in the same runner job.

@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

LLGo baseline benchmarks

f90617ed6e2f | 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 20040 B 0 B / +0.0% 387 B 0 B / +0.0% 470.678 ms -664.5 us / -0.1% (better) 1.288 ms +18.39 us / +1.4% (worse)
Linux cprintf-lto 19792 B 0 B / +0.0% 368 B 0 B / +0.0% 466.694 ms -3.393 ms / -0.7% (better) 1.277 ms +47.55 us / +3.9% (worse)
Linux fmtprintf 1640296 B 0 B / +0.0% 487292 B 0 B / +0.0% 3.747 s -19.84 ms / -0.5% (better) 3.159 ms +76 us / +2.5% (worse)
Linux fmtprintf-lto 1478552 B 0 B / +0.0% 422855 B 0 B / +0.0% 10.685 s +147 ms / +1.4% (worse) 3.070 ms +214.6 us / +7.5% (worse)
Linux println 62160 B 0 B / +0.0% 14647 B 0 B / +0.0% 462.597 ms +6.752 ms / +1.5% (worse) 1.587 ms -20.13 us / -1.3% (better)
Linux println-lto 54248 B 0 B / +0.0% 12115 B 0 B / +0.0% 672.867 ms -2.069 ms / -0.3% (better) 1.705 ms +123 us / +7.8% (worse)
macOS cprintf 84480 B 0 B / +0.0% 17309 B 0 B / +0.0% 541.777 ms +17.6 ms / +3.4% (worse) 2.751 ms +459 ns / +0.01669% (worse)
macOS cprintf-lto 84288 B 0 B / +0.0% 13073 B 0 B / +0.0% 543.972 ms +3.211 ms / +0.6% (worse) 2.618 ms -48.33 us / -1.8% (better)
macOS fmtprintf 1483824 B 0 B / +0.0% 862012 B 0 B / +0.0% 2.735 s +129.5 ms / +5.0% (worse) 4.027 ms -95.25 us / -2.3% (better)
macOS fmtprintf-lto 1175808 B 0 B / +0.0% 832972 B 0 B / +0.0% 6.537 s +348.2 ms / +5.6% (worse) 4.610 ms +411.2 us / +9.8% (worse)
macOS println 114672 B 0 B / +0.0% 34882 B 0 B / +0.0% 618.782 ms +99.49 ms / +19.2% (worse) 3.334 ms +291.7 us / +9.6% (worse)
macOS println-lto 118720 B 0 B / +0.0% 32320 B 0 B / +0.0% 802.632 ms +148.6 ms / +22.7% (worse) 3.741 ms -53.96 us / -1.4% (better)
Windows MinGW cprintf 19456 B 0 B / +0.0% 4550 B 0 B / +0.0% 1.161 s +8.555 ms / +0.7% (worse) 3.517 ms -1.054 ms / -23.1% (better)
Windows MinGW cprintf-lto 17920 B 0 B / +0.0% 4486 B 0 B / +0.0% 1.222 s +64.52 ms / +5.6% (worse) 3.599 ms -25.6 us / -0.7% (better)
Windows MinGW fmtprintf 1913856 B 0 B / +0.0% 589718 B 0 B / +0.0% 4.772 s +601.2 ms / +14.4% (worse) 9.016 ms +416.6 us / +4.8% (worse)
Windows MinGW fmtprintf-lto 1934336 B 0 B / +0.0% 535846 B 0 B / +0.0% 10.072 s -43.46 ms / -0.4% (better) 8.380 ms +397.5 us / +5.0% (worse)
Windows MinGW println 71168 B 0 B / +0.0% 23702 B 0 B / +0.0% 1.203 s +106 ms / +9.7% (worse) 7.167 ms +595.5 us / +9.1% (worse)
Windows MinGW println-lto 65024 B 0 B / +0.0% 20406 B 0 B / +0.0% 1.426 s +122.6 ms / +9.4% (worse) 7.363 ms +701 us / +10.5% (worse)
Windows MinGW 386 cprintf 43008 B 0 B / +0.0% 5326 B 0 B / +0.0% 912.728 ms +4.003 ms / +0.4% (worse) 4.537 ms -51.7 us / -1.1% (better)
Windows MinGW 386 cprintf-lto 20992 B 0 B / +0.0% 5094 B 0 B / +0.0% 910.937 ms -23.04 ms / -2.5% (better) 4.174 ms -223.4 us / -5.1% (better)
Windows MinGW 386 fmtprintf 1876992 B 0 B / +0.0% 463342 B 0 B / +0.0% 3.435 s -97.38 ms / -2.8% (better) 8.998 ms -587.5 us / -6.1% (better)
Windows MinGW 386 fmtprintf-lto 2152448 B 0 B / +0.0% 440730 B 0 B / +0.0% 7.654 s -636.7 ms / -7.7% (better) 9.673 ms -563 us / -5.5% (better)
Windows MinGW 386 println 91136 B 0 B / +0.0% 19814 B 0 B / +0.0% 907.521 ms +8.282 ms / +0.9% (worse) 8.068 ms +35.5 us / +0.4% (worse)
Windows MinGW 386 println-lto 69120 B 0 B / +0.0% 17742 B 0 B / +0.0% 1.064 s +17.4 ms / +1.7% (worse) 7.869 ms -142.3 us / -1.8% (better)
Windows MinGW ARM64 cprintf 18944 B 0 B / +0.0% 4408 B 0 B / +0.0% 1.441 s +30.03 ms / +2.1% (worse) 6.958 ms +90.7 us / +1.3% (worse)
Windows MinGW ARM64 cprintf-lto 17920 B 0 B / +0.0% 4340 B 0 B / +0.0% 1.469 s +40.69 ms / +2.8% (worse) 6.839 ms +277.5 us / +4.2% (worse)
Windows MinGW ARM64 fmtprintf 1801728 B 0 B / +0.0% 502004 B 0 B / +0.0% 4.396 s +148.2 ms / +3.5% (worse) 13.916 ms +1.921 ms / +16.0% (worse)
Windows MinGW ARM64 fmtprintf-lto 1858560 B 0 B / +0.0% 466144 B 0 B / +0.0% 9.701 s +16.57 ms / +0.2% (worse) 13.525 ms -292.7 us / -2.1% (better)
Windows MinGW ARM64 println 68096 B 0 B / +0.0% 22376 B 0 B / +0.0% 1.431 s +50.14 ms / +3.6% (worse) 11.967 ms +858.3 us / +7.7% (worse)
Windows MinGW ARM64 println-lto 63488 B 0 B / +0.0% 19444 B 0 B / +0.0% 1.617 s +39.49 ms / +2.5% (worse) 11.816 ms +622.9 us / +5.6% (worse)
Windows MSVC cprintf 120320 B 0 B / +0.0% 65782 B 0 B / +0.0% 821.942 ms +96.82 ms / +13.4% (worse) 2.827 ms +55.9 us / +2.0% (worse)
Windows MSVC cprintf-lto 119808 B 0 B / +0.0% 65718 B 0 B / +0.0% 841.870 ms +104.6 ms / +14.2% (worse) 2.809 ms +114.2 us / +4.2% (worse)
Windows MSVC fmtprintf 1628160 B 0 B / +0.0% 685238 B 0 B / +0.0% 3.021 s -54.45 ms / -1.8% (better) 6.955 ms -524.6 us / -7.0% (better)
Windows MSVC fmtprintf-lto 1616896 B 0 B / +0.0% 636262 B 0 B / +0.0% 7.192 s -213.7 ms / -2.9% (better) 6.944 ms -216.8 us / -3.0% (better)
Windows MSVC println 192512 B 0 B / +0.0% 119126 B 0 B / +0.0% 874.610 ms +62.88 ms / +7.7% (worse) 6.178 ms +33.2 us / +0.5% (worse)
Windows MSVC println-lto 189952 B 0 B / +0.0% 116374 B 0 B / +0.0% 966.648 ms +96.79 ms / +11.1% (worse) 6.559 ms +993.7 us / +17.9% (worse)
Windows MSVC 386 cprintf 9728 B 0 B / +0.0% 3931 B 0 B / +0.0% 1.114 s +159.4 ms / +16.7% (worse) 5.757 ms +345.2 us / +6.4% (worse)
Windows MSVC 386 cprintf-lto 9216 B 0 B / +0.0% 3853 B 0 B / +0.0% 976.187 ms -166.8 ms / -14.6% (better) 5.566 ms +70.2 us / +1.3% (worse)
Windows MSVC 386 fmtprintf 1190400 B 0 B / +0.0% 446693 B 0 B / +0.0% 3.891 s +53.82 ms / +1.4% (worse) 12.112 ms +866.1 us / +7.7% (worse)
Windows MSVC 386 fmtprintf-lto 1224704 B 0 B / +0.0% 417385 B 0 B / +0.0% 8.703 s -23.84 ms / -0.3% (better) 11.693 ms -79 us / -0.7% (better)
Windows MSVC 386 println 34304 B 0 B / +0.0% 18641 B 0 B / +0.0% 950.344 ms +2.058 ms / +0.2% (worse) 9.185 ms -14.2 us / -0.2% (better)
Windows MSVC 386 println-lto 32256 B 0 B / +0.0% 16855 B 0 B / +0.0% 1.128 s -893.9 us / -0.1% (better) 9.668 ms +475.5 us / +5.2% (worse)
Windows MSVC ARM64 cprintf 11264 B 0 B / +0.0% 3976 B 0 B / +0.0% 1.057 s -11.46 ms / -1.1% (better) 6.531 ms -134.7 us / -2.0% (better)
Windows MSVC ARM64 cprintf-lto 10752 B 0 B / +0.0% 3868 B 0 B / +0.0% 1.097 s +15.03 ms / +1.4% (worse) 6.956 ms +473.2 us / +7.3% (worse)
Windows MSVC ARM64 fmtprintf 1372672 B 0 B / +0.0% 501636 B 0 B / +0.0% 3.774 s -38.64 ms / -1.0% (better) 12.931 ms -919.4 us / -6.6% (better)
Windows MSVC ARM64 fmtprintf-lto 1387520 B 0 B / +0.0% 466564 B 0 B / +0.0% 8.570 s -108.4 ms / -1.2% (better) 13.742 ms -287.1 us / -2.0% (better)
Windows MSVC ARM64 println 41984 B 0 B / +0.0% 22168 B 0 B / +0.0% 1.048 s +7.941 ms / +0.8% (worse) 12.018 ms +818.7 us / +7.3% (worse)
Windows MSVC ARM64 println-lto 39424 B 0 B / +0.0% 19356 B 0 B / +0.0% 1.206 s -22.47 ms / -1.8% (better) 11.505 ms -388.8 us / -3.3% (better)
Core language and compiler benchmarks
Platform Benchmark ns/op vs base
Linux BenchmarkLookupPCRandom 14.590 ns/op +0.1 ns/op / +0.7% (worse)
Linux BenchmarkMergeCompilerFlags 201.700 ns/op -10.3 ns/op / -4.9% (better)
Linux BenchmarkMergeLinkerFlags 125.100 ns/op -11.7 ns/op / -8.6% (better)
Linux BenchmarkChannelBuffered 56.040 ns/op +1 ns/op / +1.8% (worse)
Linux BenchmarkChannelHandoff 12982 ns/op -684 ns/op / -5.0% (better)
Linux BenchmarkDefer 47.690 ns/op +0.82 ns/op / +1.7% (worse)
Linux BenchmarkDirectCall 1.170 ns/op +0.006 ns/op / +0.5% (worse)
Linux BenchmarkGlobalRead 1.166 ns/op +0.002 ns/op / +0.2% (worse)
Linux BenchmarkGlobalWrite 7.765 ns/op +0.011 ns/op / +0.1% (worse)
Linux BenchmarkGoroutine 21639 ns/op +240 ns/op / +1.1% (worse)
Linux BenchmarkInterfaceCall 5.826 ns/op +0.009 ns/op / +0.2% (worse)
Linux BenchmarkRuntimeGetG 2.449 ns/op +0.01 ns/op / +0.4% (worse)
macOS BenchmarkLookupPCRandom 13.340 ns/op +1.73 ns/op / +14.9% (worse)
macOS BenchmarkMergeCompilerFlags 113.700 ns/op +11 ns/op / +10.7% (worse)
macOS BenchmarkMergeLinkerFlags 74.760 ns/op +13.18 ns/op / +21.4% (worse)
macOS BenchmarkChannelBuffered 27.360 ns/op +1.58 ns/op / +6.1% (worse)
macOS BenchmarkChannelHandoff 9127 ns/op -568 ns/op / -5.9% (better)
macOS BenchmarkDefer 37.420 ns/op +4.29 ns/op / +12.9% (worse)
macOS BenchmarkDirectCall 1.105 ns/op -0.002 ns/op / -0.2% (better)
macOS BenchmarkGlobalRead 1.158 ns/op +0.066 ns/op / +6.0% (worse)
macOS BenchmarkGlobalWrite 1.127 ns/op +0.043 ns/op / +4.0% (worse)
macOS BenchmarkGoroutine 27368 ns/op +1563 ns/op / +6.1% (worse)
macOS BenchmarkInterfaceCall 4.071 ns/op +0.149 ns/op / +3.8% (worse)
macOS BenchmarkRuntimeGetG 2.308 ns/op +0.113 ns/op / +5.1% (worse)
Windows MinGW BenchmarkLookupPCRandom 12.430 ns/op -0.01 ns/op / -0.1% (better)
Windows MinGW BenchmarkMergeCompilerFlags 548.400 ns/op +8.9 ns/op / +1.6% (worse)
Windows MinGW BenchmarkMergeLinkerFlags 470.300 ns/op +0.7 ns/op / +0.1% (worse)
Windows MinGW BenchmarkChannelBuffered 31.760 ns/op +0.02 ns/op / +0.1% (worse)
Windows MinGW BenchmarkChannelHandoff 1408 ns/op +63 ns/op / +4.7% (worse)
Windows MinGW BenchmarkDefer 54.990 ns/op -0.68 ns/op / -1.2% (better)
Windows MinGW BenchmarkDirectCall 1.703 ns/op +0.304 ns/op / +21.7% (worse)
Windows MinGW BenchmarkGlobalRead 1.746 ns/op -0.002 ns/op / -0.1% (better)
Windows MinGW BenchmarkGlobalWrite 2.786 ns/op -0.002 ns/op / -0.1% (better)
Windows MinGW BenchmarkGoroutine 69632 ns/op -1425 ns/op / -2.0% (better)
Windows MinGW BenchmarkInterfaceCall 8.493 ns/op +0.018 ns/op / +0.2% (worse)
Windows MinGW BenchmarkRuntimeGetG 2.101 ns/op +0.001 ns/op / +0.04762% (worse)
Windows MinGW 386 BenchmarkLookupPCRandom 53.880 ns/op +0.55 ns/op / +1.0% (worse)
Windows MinGW 386 BenchmarkMergeCompilerFlags 583.400 ns/op -1.9 ns/op / -0.3% (better)
Windows MinGW 386 BenchmarkMergeLinkerFlags 570.800 ns/op +11.1 ns/op / +2.0% (worse)
Windows MinGW 386 BenchmarkChannelBuffered 36.050 ns/op -0.59 ns/op / -1.6% (better)
Windows MinGW 386 BenchmarkChannelHandoff 5653 ns/op +1843 ns/op / +48.4% (worse)
Windows MinGW 386 BenchmarkDefer 40.620 ns/op -1.69 ns/op / -4.0% (better)
Windows MinGW 386 BenchmarkDirectCall 0.368 ns/op -0.0028 ns/op / -0.8% (better)
Windows MinGW 386 BenchmarkGlobalRead 0.767 ns/op +0.0635 ns/op / +9.0% (worse)
Windows MinGW 386 BenchmarkGlobalWrite 13.640 ns/op +0.54 ns/op / +4.1% (worse)
Windows MinGW 386 BenchmarkGoroutine 71068 ns/op -2945 ns/op / -4.0% (better)
Windows MinGW 386 BenchmarkInterfaceCall 4.612 ns/op -0.016 ns/op / -0.3% (better)
Windows MinGW 386 BenchmarkRuntimeGetG 0.983 ns/op -0.0159 ns/op / -1.6% (better)
Windows MinGW ARM64 BenchmarkLookupPCRandom 12.100 ns/op +0.03 ns/op / +0.2% (worse)
Windows MinGW ARM64 BenchmarkMergeCompilerFlags 580 ns/op +3.1 ns/op / +0.5% (worse)
Windows MinGW ARM64 BenchmarkMergeLinkerFlags 545.600 ns/op +4.8 ns/op / +0.9% (worse)
Windows MinGW ARM64 BenchmarkChannelBuffered 39.740 ns/op +0.57 ns/op / +1.5% (worse)
Windows MinGW ARM64 BenchmarkChannelHandoff 2157 ns/op -227 ns/op / -9.5% (better)
Windows MinGW ARM64 BenchmarkDefer 57.510 ns/op +1.39 ns/op / +2.5% (worse)
Windows MinGW ARM64 BenchmarkDirectCall 0.590 ns/op -0.0002 ns/op / -0.0339% (better)
Windows MinGW ARM64 BenchmarkGlobalRead 0.590 ns/op +0.0001 ns/op / +0.01696% (worse)
Windows MinGW ARM64 BenchmarkGlobalWrite 0.590 ns/op +0.0007 ns/op / +0.1% (worse)
Windows MinGW ARM64 BenchmarkGoroutine 59416 ns/op -2187 ns/op / -3.6% (better)
Windows MinGW ARM64 BenchmarkInterfaceCall 4.241 ns/op +0.002 ns/op / +0.04718% (worse)
Windows MinGW ARM64 BenchmarkRuntimeGetG 1.770 ns/op +0.001 ns/op / +0.1% (worse)
Windows MSVC BenchmarkLookupPCRandom 9.573 ns/op -0.116 ns/op / -1.2% (better)
Windows MSVC BenchmarkMergeCompilerFlags 409.700 ns/op -15.3 ns/op / -3.6% (better)
Windows MSVC BenchmarkMergeLinkerFlags 346.600 ns/op +6.3 ns/op / +1.9% (worse)
Windows MSVC BenchmarkChannelBuffered 23.600 ns/op -0.52 ns/op / -2.2% (better)
Windows MSVC BenchmarkChannelHandoff 1096 ns/op -29 ns/op / -2.6% (better)
Windows MSVC BenchmarkDefer 47.170 ns/op +1.8 ns/op / +4.0% (worse)
Windows MSVC BenchmarkDirectCall 1.357 ns/op 0 ns/op / +0.0%
Windows MSVC BenchmarkGlobalRead 1.356 ns/op -0.001 ns/op / -0.1% (better)
Windows MSVC BenchmarkGlobalWrite 2.167 ns/op -0.007 ns/op / -0.3% (better)
Windows MSVC BenchmarkGoroutine 52429 ns/op +2305 ns/op / +4.6% (worse)
Windows MSVC BenchmarkInterfaceCall 7.753 ns/op -0.011 ns/op / -0.1% (better)
Windows MSVC BenchmarkRuntimeGetG 1.631 ns/op +0.002 ns/op / +0.1% (worse)
Windows MSVC 386 BenchmarkLookupPCRandom 26.430 ns/op -0.12 ns/op / -0.5% (better)
Windows MSVC 386 BenchmarkMergeCompilerFlags 757.400 ns/op +21.7 ns/op / +2.9% (worse)
Windows MSVC 386 BenchmarkMergeLinkerFlags 690.900 ns/op -11.9 ns/op / -1.7% (better)
Windows MSVC 386 BenchmarkChannelBuffered 38.440 ns/op -0.09 ns/op / -0.2% (better)
Windows MSVC 386 BenchmarkChannelHandoff 909.300 ns/op +38.9 ns/op / +4.5% (worse)
Windows MSVC 386 BenchmarkDefer 47.580 ns/op -0.53 ns/op / -1.1% (better)
Windows MSVC 386 BenchmarkDirectCall 1.549 ns/op 0 ns/op / +0.0%
Windows MSVC 386 BenchmarkGlobalRead 1.868 ns/op +0.005 ns/op / +0.3% (worse)
Windows MSVC 386 BenchmarkGlobalWrite 7.784 ns/op +0.001 ns/op / +0.01285% (worse)
Windows MSVC 386 BenchmarkGoroutine 85257 ns/op -642 ns/op / -0.7% (better)
Windows MSVC 386 BenchmarkInterfaceCall 8.405 ns/op +0.017 ns/op / +0.2% (worse)
Windows MSVC 386 BenchmarkRuntimeGetG 2.169 ns/op -0.001 ns/op / -0.04608% (better)
Windows MSVC ARM64 BenchmarkLookupPCRandom 12.070 ns/op -0.05 ns/op / -0.4% (better)
Windows MSVC ARM64 BenchmarkMergeCompilerFlags 570.500 ns/op -8.9 ns/op / -1.5% (better)
Windows MSVC ARM64 BenchmarkMergeLinkerFlags 526.300 ns/op -9.1 ns/op / -1.7% (better)
Windows MSVC ARM64 BenchmarkChannelBuffered 37.550 ns/op -1.96 ns/op / -5.0% (better)
Windows MSVC ARM64 BenchmarkChannelHandoff 1830 ns/op -25 ns/op / -1.3% (better)
Windows MSVC ARM64 BenchmarkDefer 60.320 ns/op -0.72 ns/op / -1.2% (better)
Windows MSVC ARM64 BenchmarkDirectCall 0.663 ns/op -0.0001 ns/op / -0.01508% (better)
Windows MSVC ARM64 BenchmarkGlobalRead 0.590 ns/op -0.0003 ns/op / -0.1% (better)
Windows MSVC ARM64 BenchmarkGlobalWrite 3.750 ns/op -0.011 ns/op / -0.3% (better)
Windows MSVC ARM64 BenchmarkGoroutine 51262 ns/op -694 ns/op / -1.3% (better)
Windows MSVC ARM64 BenchmarkInterfaceCall 4.142 ns/op -0.001 ns/op / -0.02414% (better)
Windows MSVC ARM64 BenchmarkRuntimeGetG 1.800 ns/op -0.004 ns/op / -0.2% (better)

Timer runtime benchmarks

Platform Operation and runtime ns/op vs base
Linux AfterFuncZeroDelivery/Go 902.500 ns/op +5.4 ns/op / +0.6% (worse)
Linux AfterFuncZeroDelivery/LLGo 36954 ns/op +2011 ns/op / +5.8% (worse)
Linux CreateStop/Go 290.600 ns/op -5.5 ns/op / -1.9% (better)
Linux CreateStop/LLGo 1627 ns/op +43 ns/op / +2.7% (worse)
Linux RearmStopped/Go 115.700 ns/op -0.1 ns/op / -0.1% (better)
Linux RearmStopped/LLGo 1167 ns/op -112 ns/op / -8.8% (better)
Linux ResetActive/Go 68.490 ns/op -0.11 ns/op / -0.2% (better)
Linux ResetActive/LLGo 692.500 ns/op -253.6 ns/op / -26.8% (better)
Linux ResetHeap1024/Go 67 ns/op -0.07 ns/op / -0.1% (better)
Linux ResetHeap1024/LLGo 179.200 ns/op +3.3 ns/op / +1.9% (worse)
macOS AfterFuncZeroDelivery/Go 442.200 ns/op +28.5 ns/op / +6.9% (worse)
macOS AfterFuncZeroDelivery/LLGo 66635 ns/op +3664 ns/op / +5.8% (worse)
macOS CreateStop/Go 141.800 ns/op +10.8 ns/op / +8.2% (worse)
macOS CreateStop/LLGo 441.500 ns/op -2.6 ns/op / -0.6% (better)
macOS RearmStopped/Go 58.460 ns/op +1.57 ns/op / +2.8% (worse)
macOS RearmStopped/LLGo 360.100 ns/op +19.8 ns/op / +5.8% (worse)
macOS ResetActive/Go 42.570 ns/op +1.73 ns/op / +4.2% (worse)
macOS ResetActive/LLGo 171.200 ns/op -1 ns/op / -0.6% (better)
macOS ResetHeap1024/Go 42.680 ns/op +0.89 ns/op / +2.1% (worse)
macOS ResetHeap1024/LLGo 99.360 ns/op +8.92 ns/op / +9.9% (worse)
Windows MinGW AfterFuncZeroDelivery/Go 468.800 ns/op -30.7 ns/op / -6.1% (better)
Windows MinGW AfterFuncZeroDelivery/LLGo 130245 ns/op +1474 ns/op / +1.1% (worse)
Windows MinGW CreateStop/Go 115.900 ns/op -0.8 ns/op / -0.7% (better)
Windows MinGW CreateStop/LLGo 487.600 ns/op +13.8 ns/op / +2.9% (worse)
Windows MinGW RearmStopped/Go 31.560 ns/op -0.01 ns/op / -0.03168% (better)
Windows MinGW RearmStopped/LLGo 285 ns/op -26.4 ns/op / -8.5% (better)
Windows MinGW ResetActive/Go 19.060 ns/op -0.06 ns/op / -0.3% (better)
Windows MinGW ResetActive/LLGo 173 ns/op +12.6 ns/op / +7.9% (worse)
Windows MinGW ResetHeap1024/Go 19.130 ns/op +0.01 ns/op / +0.1% (worse)
Windows MinGW ResetHeap1024/LLGo 149.600 ns/op +15.8 ns/op / +11.8% (worse)
Windows MinGW 386 AfterFuncZeroDelivery/Go 714.500 ns/op -5.1 ns/op / -0.7% (better)
Windows MinGW 386 AfterFuncZeroDelivery/LLGo 155811 ns/op -9775 ns/op / -5.9% (better)
Windows MinGW 386 CreateStop/Go 185.400 ns/op +0.3 ns/op / +0.2% (worse)
Windows MinGW 386 CreateStop/LLGo 794.800 ns/op -79 ns/op / -9.0% (better)
Windows MinGW 386 RearmStopped/Go 73.590 ns/op +6.78 ns/op / +10.1% (worse)
Windows MinGW 386 RearmStopped/LLGo 460.200 ns/op +36.6 ns/op / +8.6% (worse)
Windows MinGW 386 ResetActive/Go 32.480 ns/op +0.51 ns/op / +1.6% (worse)
Windows MinGW 386 ResetActive/LLGo 255.800 ns/op -5.7 ns/op / -2.2% (better)
Windows MinGW 386 ResetHeap1024/Go 32.770 ns/op +0.61 ns/op / +1.9% (worse)
Windows MinGW 386 ResetHeap1024/LLGo 145.400 ns/op +10.5 ns/op / +7.8% (worse)
Windows MinGW ARM64 AfterFuncZeroDelivery/Go 661.200 ns/op -2.3 ns/op / -0.3% (better)
Windows MinGW ARM64 AfterFuncZeroDelivery/LLGo 128966 ns/op +1592 ns/op / +1.2% (worse)
Windows MinGW ARM64 CreateStop/Go 195.500 ns/op -3.8 ns/op / -1.9% (better)
Windows MinGW ARM64 CreateStop/LLGo 366.100 ns/op -0.8 ns/op / -0.2% (better)
Windows MinGW ARM64 RearmStopped/Go 70.590 ns/op +0.05 ns/op / +0.1% (worse)
Windows MinGW ARM64 RearmStopped/LLGo 253.700 ns/op -1.5 ns/op / -0.6% (better)
Windows MinGW ARM64 ResetActive/Go 30.980 ns/op -0.16 ns/op / -0.5% (better)
Windows MinGW ARM64 ResetActive/LLGo 123.600 ns/op +1.3 ns/op / +1.1% (worse)
Windows MinGW ARM64 ResetHeap1024/Go 31.170 ns/op +0.07 ns/op / +0.2% (worse)
Windows MinGW ARM64 ResetHeap1024/LLGo 127.300 ns/op -0.6 ns/op / -0.5% (better)
Windows MSVC AfterFuncZeroDelivery/Go 366.400 ns/op -17.4 ns/op / -4.5% (better)
Windows MSVC AfterFuncZeroDelivery/LLGo 97962 ns/op -6491 ns/op / -6.2% (better)
Windows MSVC CreateStop/Go 90.100 ns/op -0.03 ns/op / -0.03329% (better)
Windows MSVC CreateStop/LLGo 356.600 ns/op +9.3 ns/op / +2.7% (worse)
Windows MSVC RearmStopped/Go 24.460 ns/op -0.06 ns/op / -0.2% (better)
Windows MSVC RearmStopped/LLGo 221.700 ns/op +5.6 ns/op / +2.6% (worse)
Windows MSVC ResetActive/Go 14.790 ns/op -0.06 ns/op / -0.4% (better)
Windows MSVC ResetActive/LLGo 126.300 ns/op +8 ns/op / +6.8% (worse)
Windows MSVC ResetHeap1024/Go 14.840 ns/op -0.07 ns/op / -0.5% (better)
Windows MSVC ResetHeap1024/LLGo 103.500 ns/op +0.5 ns/op / +0.5% (worse)
Windows MSVC 386 AfterFuncZeroDelivery/Go 961.600 ns/op -8.9 ns/op / -0.9% (better)
Windows MSVC 386 AfterFuncZeroDelivery/LLGo 185743 ns/op -542 ns/op / -0.3% (better)
Windows MSVC 386 CreateStop/Go 194 ns/op +1.3 ns/op / +0.7% (worse)
Windows MSVC 386 CreateStop/LLGo 477.700 ns/op +23.1 ns/op / +5.1% (worse)
Windows MSVC 386 RearmStopped/Go 63.370 ns/op -0.25 ns/op / -0.4% (better)
Windows MSVC 386 RearmStopped/LLGo 323.100 ns/op +12.3 ns/op / +4.0% (worse)
Windows MSVC 386 ResetActive/Go 38.990 ns/op -0.05 ns/op / -0.1% (better)
Windows MSVC 386 ResetActive/LLGo 937.500 ns/op -67.5 ns/op / -6.7% (better)
Windows MSVC 386 ResetHeap1024/Go 39.390 ns/op -0.05 ns/op / -0.1% (better)
Windows MSVC 386 ResetHeap1024/LLGo 170.300 ns/op +1 ns/op / +0.6% (worse)
Windows MSVC ARM64 AfterFuncZeroDelivery/Go 664.600 ns/op +4.1 ns/op / +0.6% (worse)
Windows MSVC ARM64 AfterFuncZeroDelivery/LLGo 127945 ns/op +8472 ns/op / +7.1% (worse)
Windows MSVC ARM64 CreateStop/Go 197.800 ns/op +1.5 ns/op / +0.8% (worse)
Windows MSVC ARM64 CreateStop/LLGo 404.100 ns/op +10.7 ns/op / +2.7% (worse)
Windows MSVC ARM64 RearmStopped/Go 70.580 ns/op -0.02 ns/op / -0.02833% (better)
Windows MSVC ARM64 RearmStopped/LLGo 267.200 ns/op -0.7 ns/op / -0.3% (better)
Windows MSVC ARM64 ResetActive/Go 30.820 ns/op -0.22 ns/op / -0.7% (better)
Windows MSVC ARM64 ResetActive/LLGo 135.700 ns/op -2 ns/op / -1.5% (better)
Windows MSVC ARM64 ResetHeap1024/Go 31.030 ns/op -0.04 ns/op / -0.1% (better)
Windows MSVC ARM64 ResetHeap1024/LLGo 134.700 ns/op -2.2 ns/op / -1.6% (better)

Compared with a1a44a6e765c measured in the same runner job.

@cpunion cpunion added go-test-compat Go standard-library and GOROOT test compatibility and removed go-test-compat Go standard-library and GOROOT test compatibility labels Sep 18, 2026
@cpunion
cpunion merged commit ea7bdea into xgo-dev:main Sep 18, 2026
93 checks passed
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.

[GOROOT daily] 2026-09-18

1 participant