Skip to content

[Based on #112] debug: report debug and deployment artifact sizes - #114

Open
cpunion wants to merge 2 commits into
codex/typed-debug-artifacts-2164-20260801from
codex/debug-artifact-report-2164-20260801
Open

[Based on #112] debug: report debug and deployment artifact sizes#114
cpunion wants to merge 2 commits into
codex/typed-debug-artifacts-2164-20260801from
codex/debug-artifact-report-2164-20260801

Conversation

@cpunion

@cpunion cpunion commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

Report final debug, deployment, and runtime-symbol artifacts with their physical format, exact on-disk size, and path.

The report distinguishes a host debug ELF from derived .bin/.hex/.img/.uf2/.zip deployment files, embedded Wasm DWARF from an external sidecar, and pclntab from debugger-owned DWARF. It runs after final linking, Wasm externalization, and target format conversion. Explicit -debug-artifact modes and named targets enable the report; ordinary native builds remain quiet.

Part of xgo-dev#2164 Task 1. Based on #112.

Validation

  • macOS internal/build integration suite: 75.9% statement coverage after excluding the known stdio hang and independently covered PCLN integration groups
  • artifact-report functions: 100% line coverage on macOS and Linux/amd64
  • real external-DWARF WASI builds on macOS and Linux/amd64 report the deployable module and DWARF sidecar with exact sizes
  • host ELF and derived deployment roles/formats, missing artifacts, and reporting failures are covered by focused tests
  • the Cortex-M host ELF/.bin flow was validated before the dependency rebase; the current upstream baseline stops earlier in unrelated Go 1.26 bare-metal runtime code

@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

LLGo baseline benchmarks

b460595b924a | workflow run | long-term charts

Program measurements

Platform Workload File size vs main Build vs main Run vs main
Linux cprintf 18544 B +0.0% 347.166 ms -15.8% (better) 1.265 ms -18.5% (better)
Linux fmtprintf 2217608 B +0.2% (worse) 3.307 s -14.2% (better) 2.468 ms -24.9% (better)
Linux println 71504 B -1.6% (better) 351.722 ms -12.1% (better) 1.591 ms -4.9% (better)
macOS cprintf 84672 B +0.0% 326.901 ms -21.1% (better) 2.414 ms -32.7% (better)
macOS fmtprintf 2361520 B +0.7% (worse) 2.599 s -34.0% (better) 16.656 ms -28.7% (better)
macOS println 125712 B -1.0% (better) 299.268 ms -27.8% (better) 3.411 ms -53.0% (better)
Core language and compiler benchmarks
Platform Benchmark ns/op vs main
Linux BenchmarkLookupPCRandom 13.410 ns/op -0.5% (better)
Linux BenchmarkMergeCompilerFlags 151.100 ns/op -2.2% (better)
Linux BenchmarkMergeLinkerFlags 96.040 ns/op -5.2% (better)
Linux BenchmarkChannelBuffered 33.990 ns/op -2.2% (better)
Linux BenchmarkChannelHandoff 29432 ns/op -8.1% (better)
Linux BenchmarkDefer 44.210 ns/op -21.5% (better)
Linux BenchmarkDirectCall 1.557 ns/op -0.4% (better)
Linux BenchmarkGlobalRead 1.873 ns/op +20.1% (worse)
Linux BenchmarkGlobalWrite 2.497 ns/op +0.1% (worse)
Linux BenchmarkGoroutine 32532 ns/op -57.0% (better)
Linux BenchmarkInterfaceCall 8.096 ns/op +3.9% (worse)
Linux BenchmarkRuntimeGetG 1.867 ns/op -64.8% (better)
macOS BenchmarkLookupPCRandom 10.850 ns/op -12.8% (better)
macOS BenchmarkMergeCompilerFlags 94.280 ns/op -24.3% (better)
macOS BenchmarkMergeLinkerFlags 64.460 ns/op -7.1% (better)
macOS BenchmarkChannelBuffered 23.760 ns/op -14.3% (better)
macOS BenchmarkChannelHandoff 5186 ns/op -26.0% (better)
macOS BenchmarkDefer 30.670 ns/op -18.1% (better)
macOS BenchmarkDirectCall 1.053 ns/op -27.5% (better)
macOS BenchmarkGlobalRead 1.030 ns/op -14.9% (better)
macOS BenchmarkGlobalWrite 1.082 ns/op -27.2% (better)
macOS BenchmarkGoroutine 29053 ns/op -8.2% (better)
macOS BenchmarkInterfaceCall 4.842 ns/op -10.3% (better)
macOS BenchmarkRuntimeGetG 2.188 ns/op -15.1% (better)

Compared only with the latest matching platform in the main series.

Warning

  • Persistent publishing is unavailable because no data token is configured.

@cpunion
cpunion force-pushed the codex/typed-debug-artifacts-2164-20260801 branch from 1dd635a to 0f6a37f Compare August 1, 2026 16:49
@cpunion
cpunion force-pushed the codex/debug-artifact-report-2164-20260801 branch from 82eb3df to 90d0205 Compare August 1, 2026 18:22
@cpunion
cpunion force-pushed the codex/typed-debug-artifacts-2164-20260801 branch from 0f6a37f to dde8ca4 Compare August 2, 2026 07:05
@cpunion
cpunion force-pushed the codex/debug-artifact-report-2164-20260801 branch from 90d0205 to b460595 Compare August 2, 2026 07:05
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