Skip to content

feat(llar): add install command wrapper - #2413

Open
MeteorsLiu wants to merge 5 commits into
xgo-dev:mainfrom
MeteorsLiu:feat/llar-wrapper
Open

feat(llar): add install command wrapper#2413
MeteorsLiu wants to merge 5 commits into
xgo-dev:mainfrom
MeteorsLiu:feat/llar-wrapper

Conversation

@MeteorsLiu

Copy link
Copy Markdown
Contributor

Add a Go wrapper for invoking the LLAR install command from LLGo.

The implementation includes:

  • Add llar.New(bin, verbose) and Cmd.Install for executing llar install.
  • Add typed Module, Config, Dependency, and Result values without importing the LLAR module.
  • Map optional output, target matrix fields, repeated options, and verbose stderr forwarding to the CLI.
  • Add fake-command tests for argument generation, optional output, JSON decoding, and command failures.

This gives LLGo a typed, testable entry point for installing LLAR modules while keeping the existing CLI as the execution boundary.

@codecov

codecov Bot commented Aug 25, 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

github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown

LLGo baseline benchmarks

5de100a51be0 | 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 19256 B 0 B / +0.0% 387 B 0 B / +0.0% 341.826 ms +429 us / +0.1% (worse) 1.278 ms -3.985 us / -0.3% (better)
Linux cprintf-lto 19088 B 0 B / +0.0% 368 B 0 B / +0.0% 349.616 ms -3.775 ms / -1.1% (better) 1.252 ms -83.25 us / -6.2% (better)
Linux fmtprintf 1653232 B 0 B / +0.0% 501083 B 0 B / +0.0% 2.901 s -39.4 ms / -1.3% (better) 3.346 ms -15.2 us / -0.5% (better)
Linux fmtprintf-lto 1525824 B 0 B / +0.0% 459700 B 0 B / +0.0% 9.145 s -36.75 ms / -0.4% (better) 3.106 ms -13.99 us / -0.4% (better)
Linux println 62032 B 0 B / +0.0% 15261 B 0 B / +0.0% 341.970 ms -7.466 ms / -2.1% (better) 1.617 ms +20.32 us / +1.3% (worse)
Linux println-lto 53840 B 0 B / +0.0% 12882 B 0 B / +0.0% 525.624 ms -23.65 ms / -4.3% (better) 1.601 ms -41.34 us / -2.5% (better)
macOS cprintf 84480 B 0 B / +0.0% 16493 B 0 B / +0.0% 441.957 ms -282.7 ms / -39.0% (better) 3.924 ms -2.902 ms / -42.5% (better)
macOS cprintf-lto 100704 B 0 B / +0.0% 16473 B 0 B / +0.0% 609.779 ms -129.8 ms / -17.5% (better) 4.143 ms -1.428 ms / -25.6% (better)
macOS fmtprintf 1498256 B 0 B / +0.0% 882133 B 0 B / +0.0% 4.584 s +1.055 s / +29.9% (worse) 8.855 ms +3.473 ms / +64.5% (worse)
macOS fmtprintf-lto 1208976 B 0 B / +0.0% 875129 B 0 B / +0.0% 8.106 s -443.6 ms / -5.2% (better) 6.593 ms +556.9 us / +9.2% (worse)
macOS println 114832 B 0 B / +0.0% 34849 B 0 B / +0.0% 432.783 ms -274.5 ms / -38.8% (better) 3.646 ms -468.7 us / -11.4% (better)
macOS println-lto 118656 B 0 B / +0.0% 32489 B 0 B / +0.0% 535.525 ms -299.3 ms / -35.8% (better) 3.781 ms -1.855 ms / -32.9% (better)
Core language and compiler benchmarks
Platform Benchmark ns/op vs base
Linux BenchmarkLookupPCRandom 13.240 ns/op -0.16 ns/op / -1.2% (better)
Linux BenchmarkMergeCompilerFlags 151.300 ns/op -0.6 ns/op / -0.4% (better)
Linux BenchmarkMergeLinkerFlags 94.860 ns/op -0.26 ns/op / -0.3% (better)
Linux BenchmarkChannelBuffered 35.520 ns/op -0.02 ns/op / -0.1% (better)
Linux BenchmarkChannelHandoff 28778 ns/op +1292 ns/op / +4.7% (worse)
Linux BenchmarkDefer 49.780 ns/op -1.2 ns/op / -2.4% (better)
Linux BenchmarkDirectCall 1.557 ns/op 0 ns/op / +0.0%
Linux BenchmarkGlobalRead 1.870 ns/op -0.002 ns/op / -0.1% (better)
Linux BenchmarkGlobalWrite 2.481 ns/op -0.003 ns/op / -0.1% (better)
Linux BenchmarkGoroutine 32434 ns/op -178 ns/op / -0.5% (better)
Linux BenchmarkInterfaceCall 8.414 ns/op 0 ns/op / +0.0%
Linux BenchmarkRuntimeGetG 2.181 ns/op +0.001 ns/op / +0.04587% (worse)
macOS BenchmarkLookupPCRandom 13.410 ns/op -0.77 ns/op / -5.4% (better)
macOS BenchmarkMergeCompilerFlags 147.600 ns/op -35.6 ns/op / -19.4% (better)
macOS BenchmarkMergeLinkerFlags 105.400 ns/op -4.6 ns/op / -4.2% (better)
macOS BenchmarkChannelBuffered 30.110 ns/op -3.78 ns/op / -11.2% (better)
macOS BenchmarkChannelHandoff 7902 ns/op +1221 ns/op / +18.3% (worse)
macOS BenchmarkDefer 43.840 ns/op -4.31 ns/op / -9.0% (better)
macOS BenchmarkDirectCall 1.359 ns/op -0.121 ns/op / -8.2% (better)
macOS BenchmarkGlobalRead 1.185 ns/op -0.148 ns/op / -11.1% (better)
macOS BenchmarkGlobalWrite 1.445 ns/op -0.153 ns/op / -9.6% (better)
macOS BenchmarkGoroutine 52811 ns/op -10704 ns/op / -16.9% (better)
macOS BenchmarkInterfaceCall 6.296 ns/op -0.508 ns/op / -7.5% (better)
macOS BenchmarkRuntimeGetG 2.205 ns/op -0.862 ns/op / -28.1% (better)

Compared with 6fe8babd468c 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