Skip to content

Commit 832b52c

Browse files
committed
updated README.md
1 parent 422d197 commit 832b52c

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

test/http-client-benchmarks/README.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
````markdown
21
# HTTP Client Benchmark Harness
32

43
This module contains HTTP client benchmark harness using [JMH].
@@ -11,41 +10,52 @@ or measurement time in order to get more reliable data.
1110
There are three ways to run benchmarks.
1211

1312
- Using the executable JAR (Preferred usage per JMH site)
14-
```bash
15-
mvn clean install -P quick -pl :http-client-benchmarks --am
16-
13+
```
14+
mvn clean install -P quick -pl :http-client-benchmarks --am
15+
```
16+
1717
# Run specific benchmark
18-
java -jar target/benchmarks.jar Apache5Benchmark
18+
```
19+
java -jar target/http-client-benchmarks.jar Apache5Benchmark
20+
```
1921

20-
# Run all benchmarks: 3 warm up iterations, 3 benchmark iterations, 1 fork
22+
# Run all benchmarks: 3 warm up iterations, 3 benchmark iterations, 1 fork.
23+
```
2124
java -jar target/http-client-benchmarks.jar -wi 3 -i 3 -f 1
2225
```
2326

2427
- Using `mvn exec:exec` commands to invoke `UnifiedBenchmarkRunner` main method
25-
```bash
26-
mvn clean install -P quick -pl :http-client-benchmarks --am
27-
mvn clean install -pl :bom-internal
28-
cd test/http-client-benchmarks
29-
mvn exec:exec
30-
```
28+
```
29+
mvn clean install -P quick -pl :http-client-benchmarks --am
30+
mvn clean install -pl :bom-internal
31+
cd test/http-client-benchmarks
32+
mvn exec:exec
33+
```
3134

3235
## UnifiedBenchmarkRunner
3336

3437
The `UnifiedBenchmarkRunner` provides a comprehensive comparison between different HTTP client implementations:
3538

3639
- **Apache4**: Apache HttpClient 4.x baseline
37-
- **Apache5-Platform**: Apache HttpClient 5.x with platform threads
40+
- **Apache5-Platform**: Apache HttpClient 5.x with platform threads
3841
- **Apache5-Virtual**: Apache HttpClient 5.x with virtual threads
3942

40-
The runner executes all benchmark variations, prints and publishes metrics to CloudWatch.
43+
The runner executes all benchmark variations, prints metrics to console, and publishes results to CloudWatch metrics for monitoring and analysis.
4144

4245
## Benchmark Operations
4346

4447
Each benchmark implementation tests the following operations:
4548
- `simpleGet`: Single-threaded GET operations
46-
- `simplePut`: Single-threaded PUT operations
49+
- `simplePut`: Single-threaded PUT operations
4750
- `multiThreadedGet`: Multi-threaded GET operations (10 threads)
4851
- `multiThreadedPut`: Multi-threaded PUT operations (10 threads)
4952

50-
[JMH]: http://openjdk.java.net/projects/code-tools/jmh/
51-
````
53+
## Prerequisites
54+
55+
### Java Runtime Requirements
56+
57+
- **Java 8+**: Required for running the benchmarks (as specified by `<javac.target>8</javac.target>`)
58+
- **Java 21+**: Required for virtual threads support (Apache5-Virtual benchmarks)
59+
60+
**Note**: Virtual threads are a preview feature in Java 19-20 and became stable in Java 21. The Apache5-Virtual benchmarks require Java 21 or later.
61+

0 commit comments

Comments
 (0)