-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P4
-
Affects Version/s: 26
-
Component/s: core-libs
-
None
We should update the memory segment bulk operation benchmarks to include comparison with implementations defined in terms of plain loops (now that more super-word optimizations are in place).
When looping over segments, it's important we measure the following cases:
* int induction variable, long limit
* int induction variable, int limit (e.g. cast byteSize to int)
* long induction variable, long limit
As it's likely that these will lead to different numbers.
In addition, we should try to measure both small segment sizes and large segment sizes (as I imagine loop-based implementations to fare better against Unsafe intrinsics here).
Lastly, we should also compare heap vs. off-heap segments, to make sure we complete the matrix.
When looping over segments, it's important we measure the following cases:
* int induction variable, long limit
* int induction variable, int limit (e.g. cast byteSize to int)
* long induction variable, long limit
As it's likely that these will lead to different numbers.
In addition, we should try to measure both small segment sizes and large segment sizes (as I imagine loop-based implementations to fare better against Unsafe intrinsics here).
Lastly, we should also compare heap vs. off-heap segments, to make sure we complete the matrix.