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

Reply via email to