Skip to content

ci: benchmark V1 vs V2 metadata format comparison#1858

Open
luoliwoshang wants to merge 4 commits into
xgo-dev:mainfrom
luoliwoshang:chore/benchmark-ci-validation
Open

ci: benchmark V1 vs V2 metadata format comparison#1858
luoliwoshang wants to merge 4 commits into
xgo-dev:mainfrom
luoliwoshang:chore/benchmark-ci-validation

Conversation

@luoliwoshang
Copy link
Copy Markdown
Contributor

Summary

  • Delete all existing CI workflows
  • Add single benchmark.yml to compare V1 (LLPS uvarint) vs V2 (LLP2 fixed-width) encode/decode
  • 4-scale matrix: Small, Medium, Large, XL
  • Final report job collects and outputs all benchmark results

Test plan

  • CI runs 4 matrix jobs, each runs go test -bench for one scale
  • Report job downloads artifacts and prints comparison

🤖 Generated with Claude Code

@luoliwoshang luoliwoshang force-pushed the chore/benchmark-ci-validation branch from b06db67 to 1e61aeb Compare May 12, 2026 03:06
luoliwoshang and others added 2 commits May 12, 2026 11:07
Run V1 (LLPS uvarint) vs V2 (LLP2 fixed-width) encode/decode benchmarks
on a 4-scale matrix, collect artifacts, and output comparison at end.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…ersion separately

Split V2 encoding into three layers:
- PackageMeta (builder output, Go-native types)
- V2Format (pre-built groups+values arrays, uint32 types)
- PackageMetaView (decoded read-only view)

ToV2Format() converts PackageMeta → V2Format (outside benchmark timer).
V2Format.WriteTo() packs directly without per-element conversion.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@luoliwoshang luoliwoshang force-pushed the chore/benchmark-ci-validation branch from 1e61aeb to 38778cd Compare May 12, 2026 03:08
luoliwoshang and others added 2 commits May 12, 2026 11:17
Replace raw benchmark output with two parsed comparison tables:
- Encode table: V1 vs V2 time/memory/allocs with ratio indicator
- Decode table: V1 vs V2 time/memory/allocs with speedup indicator

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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