Skip to content

Commit 76aac2c

Browse files
auto commit
1 parent 814acbf commit 76aac2c

File tree

9 files changed

+1157
-0
lines changed

9 files changed

+1157
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# ESDK Go Benchmark
2+
3+
Performance benchmark suite for the AWS Encryption SDK (ESDK) Go implementation.
4+
5+
## Quick Start
6+
7+
```bash
8+
# Run quick benchmark
9+
go run . --config ../../config/test-scenarios.yaml --quick
10+
11+
# Run full benchmark
12+
go run . --config ../../config/test-scenarios.yaml
13+
```
14+
15+
## Build
16+
17+
```bash
18+
# Build release binary
19+
go build -o esdk-benchmark .
20+
21+
# Run built binary
22+
./esdk-benchmark --quick
23+
```
24+
25+
## Configuration
26+
27+
The benchmark uses YAML configuration files. See `../../config/test-scenarios.yaml` for the full configuration format.
28+
29+
### Quick Mode
30+
31+
Quick mode runs a subset of tests with reduced iterations:
32+
33+
- Only runs test types specified in `quick_config.test_types`
34+
- Uses smaller data sizes from `quick_config.data_sizes.small`
35+
- Fewer iterations: `quick_config.iterations.measurement`
36+
37+
## Test Types
38+
39+
- **throughput**: Measures operations per second and latency
40+
- **memory**: Measures peak memory usage during operations
41+
- **concurrency**: Tests performance under concurrent load
42+
43+
## Output
44+
45+
Results are saved to JSON format in `../../results/raw-data/go_results.json` by default.

0 commit comments

Comments
 (0)