-
Type:
Epic
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: Performance, Performance Benchmarking
-
None
-
Performance Improvements Phase 2
-
Java Drivers
-
None
-
-
To Do
-
None
-
0
-
0
-
0
-
100
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
There are both known and potential opportunities to improve performance across the Java driver. This epic covers investigating those opportunities and implementing the optimizations.
Current high-impact candidates include POJO codecs (a very common encode/decode path for applications) and RawBsonDocument. We currently have no POJO codec benchmark coverage and therefore no time-series visibility for that path, so regressions or improvements can go unnoticed.
Key considerations:
- Benchmark coverage and time-series tracking for POJO codecs and RawBsonDocument to detect regressions and validate wins.
- Benchmarks that run through common frameworks (e.g., Spring Data, Quarkus), since many applications consume the driver via frameworks and performance characteristics can differ from driver-only microbenchmarks.
- Running benchmarks across multiple Java versions, since optimization impact varies by JDK (e.g., custom little-endian encode/decode can be faster on JDK 8 but worse on JDK 11+ due to vectorization/intrinsics).
//TBD