On Wed, 4 Mar 2026 18:46:59 GMT, Shawn Emery <[email protected]> wrote:
>> This implementation changes the limb size of X25519 from 10 x 26 bits to 5 x >> 51 bits in order to take advantage of performance gains from a reduction in >> the number of limb operations. >> >> Performance gains were observed from the key generation/agreement, >> encapsulation, and decapsulation benchmarks for both aarch64 with 3 - 8% >> gains and x86_64 with 9% gains. >> >> Thank you @ferakocz for their help in working through the early stages of >> this code with me. > > Shawn Emery has updated the pull request incrementally with one additional > commit since the last revision: > > Optimize multByInt() method I've also optimized the multbyInt() method which increased performance ~9% on both aarch64 and x86_64. In aggregate the new performance gains are observed as follows: x86_64 ====== i) Key generation/key agreement: +50%, hybrid: +33% ii) Decapsulation: +50%, hybrid: +27% iii) Encapsulation: +51%, hybrid: +38% iv) SSLHandshake - resume: +28%, hybrid: +21% v) SSLHandshake - no resume: +14%, hybrid: +11% aarch64 ====== i) Key generation/key agreement: +49%, hybrid: +46% ii) Decapsulation: +52%, hybrid: +41% iii) Encapsulation: +54%, hybrid: +51% iv) SSLHandshake - resume: +36%, hybrid: +31% v) SSLHandshake - no resume: +17%, hybrid: +16% ------------- PR Comment: https://git.openjdk.org/jdk/pull/29981#issuecomment-4001601976
