Skip to content

Create performance benchmark for porla container#19

Open
freol35241 wants to merge 1 commit into
mainfrom
claude/porla-performance-benchmark-01EeCvefZ7W7v9Bh3jhpdhxc
Open

Create performance benchmark for porla container#19
freol35241 wants to merge 1 commit into
mainfrom
claude/porla-performance-benchmark-01EeCvefZ7W7v9Bh3jhpdhxc

Conversation

@freol35241

Copy link
Copy Markdown
Contributor

This commit introduces a complete benchmarking framework for porla to measure and document performance characteristics across various scenarios.

New benchmarking infrastructure:

  • Automated test orchestration with benchmark.sh
  • Data generation tool for different line lengths
  • Throughput and latency measurement utilities
  • ASCII chart generation using plotille library

Benchmark scenarios:

  1. Baseline throughput (raw bus capacity)
  2. Processing pipelines (timestamp, jsonify, b64)
  3. Multi-stage bus transfers (2-3 hops)
  4. Fan-out performance (multiple readers)
  5. Fan-in performance (multiple writers)

Key features:

  • Tests various line lengths (50B to 4KB)
  • Measures lines/s and bytes/s throughput
  • Generates ASCII charts for visualization
  • Includes example results and documentation
  • Configurable test duration and scenarios
  • Quick mode for faster testing

Documentation updates:

  • Added comprehensive Performance section to README.md
  • Included ASCII charts showing throughput characteristics
  • Provided use case guidelines based on performance data
  • Created detailed benchmarking/README.md with instructions

The benchmarking suite helps users:

  • Understand porla's performance characteristics
  • Choose appropriate configurations for their use cases
  • Benchmark their specific hardware environment
  • Optimize pipeline designs for throughput requirements

Example results show typical performance:

  • 70k+ lines/s for baseline (200-byte lines)
  • 60k+ lines/s with timestamp processing
  • 40k+ lines/s with jsonify processing
  • Efficient multicast fan-out to 8+ readers

This commit introduces a complete benchmarking framework for porla to
measure and document performance characteristics across various scenarios.

New benchmarking infrastructure:
- Automated test orchestration with benchmark.sh
- Data generation tool for different line lengths
- Throughput and latency measurement utilities
- ASCII chart generation using plotille library

Benchmark scenarios:
1. Baseline throughput (raw bus capacity)
2. Processing pipelines (timestamp, jsonify, b64)
3. Multi-stage bus transfers (2-3 hops)
4. Fan-out performance (multiple readers)
5. Fan-in performance (multiple writers)

Key features:
- Tests various line lengths (50B to 4KB)
- Measures lines/s and bytes/s throughput
- Generates ASCII charts for visualization
- Includes example results and documentation
- Configurable test duration and scenarios
- Quick mode for faster testing

Documentation updates:
- Added comprehensive Performance section to README.md
- Included ASCII charts showing throughput characteristics
- Provided use case guidelines based on performance data
- Created detailed benchmarking/README.md with instructions

The benchmarking suite helps users:
- Understand porla's performance characteristics
- Choose appropriate configurations for their use cases
- Benchmark their specific hardware environment
- Optimize pipeline designs for throughput requirements

Example results show typical performance:
- 70k+ lines/s for baseline (200-byte lines)
- 60k+ lines/s with timestamp processing
- 40k+ lines/s with jsonify processing
- Efficient multicast fan-out to 8+ readers
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