Skip to content

feat(benchmarks): add real I/O benchmarks, optimize SlabWriter configs, update README#51

Merged
ssgreg merged 1 commit intomasterfrom
feat/benchmarks-io-perf
Mar 20, 2026
Merged

feat(benchmarks): add real I/O benchmarks, optimize SlabWriter configs, update README#51
ssgreg merged 1 commit intomasterfrom
feat/benchmarks-io-perf

Conversation

@ssgreg
Copy link
Copy Markdown
Owner

@ssgreg ssgreg commented Mar 20, 2026

  • Add all loggers (slog, slog+logf, zerolog, logrus) to FileParallel and latency tests with 6 realistic fields (bytes, time, []int, []string, duration, object)
  • Add report-io.sh for file I/O, latency distribution, slow I/O, and goroutine scalability benchmarks
  • Add Router and RouterSlab scenarios to report.sh
  • Normalize all buffer sizes to 256KB across loggers for fair comparison
  • Optimize SlabWriter configs: 128K×2 for throughput, 32K×8 for burst tolerance under I/O pressure
  • Refactor SlabWriter from functional options to builder pattern
  • Fix LoggerBuilder default level (LevelDebug instead of zero-value LevelError)
  • Update README Performance section with real I/O numbers and slow I/O tail latency comparison
  • Include benchmark results (count=5) in commit
  • Remove benchmarks/results/ from .gitignore

…s, update README

- Add all loggers (slog, slog+logf, zerolog, logrus) to FileParallel
  and latency tests with 6 realistic fields (bytes, time, []int,
  []string, duration, object)
- Add report-io.sh for file I/O, latency distribution, slow I/O,
  and goroutine scalability benchmarks
- Add Router and RouterSlab scenarios to report.sh
- Normalize all buffer sizes to 256KB across loggers for fair comparison
- Optimize SlabWriter configs: 128K×2 for throughput, 32K×8 for burst
  tolerance under I/O pressure
- Refactor SlabWriter from functional options to builder pattern
- Fix LoggerBuilder default level (LevelDebug instead of zero-value LevelError)
- Update README Performance section with real I/O numbers and slow I/O
  tail latency comparison
- Include benchmark results (count=5) in commit
- Remove benchmarks/results/ from .gitignore
@ssgreg ssgreg merged commit 1ad416f into master Mar 20, 2026
3 checks passed
@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 84.21053% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.58%. Comparing base (a38c216) to head (ce4a687).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
examples/router/main.go 0.00% 5 Missing ⚠️
setup.go 0.00% 1 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #51      +/-   ##
==========================================
+ Coverage   79.38%   79.58%   +0.19%     
==========================================
  Files          25       25              
  Lines        2134     2150      +16     
==========================================
+ Hits         1694     1711      +17     
  Misses        403      403              
+ Partials       37       36       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

2 participants