Duplicate :
|
A DESCRIPTION OF THE REQUEST : Java should provide access to SIMD execution of floating point instructions, either through intrinsic functions, automatic detection by HotSpot or extremely low overhead calls to native instructions. JUSTIFICATION : In order to maintain performance parity with C/C++. C/C++ can easily use SIMD instructions, allowing significant performance improvements on critical floating-point kernels. EXPECTED VERSUS ACTUAL BEHAVIOR : EXPECTED - Java matching performance with C/C++ on SIMD-ed kernels. ACTUAL - Java not matching performance with C/C++ on SIMD-ed kernels. CUSTOMER SUBMITTED WORKAROUND : Sometimes it is possible to move the kernel to C/C++, use SIMD there and call via JNI. However, the cost of the JNI call can be significant as are the difficulties of ensuring memory is properly aligned for SIMD execution.