Actually, after eliminating other external factors I can confirm that 
decrypting a 65MB GPG file into memory and re-encrypting the substrings inside 
every one of 1,000,000 lines is 19% faster with 1.8.1 than with 1.7.
This is now pretty accurate and reproducible. If it matters, this runs on an 
i7-2600 machine w/o HT (4 real cores).

Thank you
Alex

-----Original Message-----
From: Alex Malmyguine 
Sent: Friday, May 20, 2016 9:30 AM
To: 'peter.dett...@bouncycastle.org'; dev-crypto-csharp@bouncycastle.org
Subject: RE: [dev-crypto-csharp] 1.8.1 vs 1.7?

Peter,

An inconclusive 10% improvement and profiling has skewed towards 
BigInteger.Remainder() - 46% and BigInteger.SquareMonty() - 25%.
I will need to run more tests to gather conclusive stats.

I am tempted to try outsourcing the BigInteger methods to OpenCL.

Alex

-----Original Message-----
From: Peter Dettman [mailto:peter.dett...@bouncycastle.org]
Sent: Friday, May 20, 2016 1:30 AM
To: dev-crypto-csharp@bouncycastle.org
Subject: Re: [dev-crypto-csharp] 1.8.1 vs 1.7?

Hi Alex,
I cannot offer you exact numbers, but there were definitely some significant 
improvements to the BigInteger.ModPow performance (including faster 
MultiplyMonty and less calls to it) after 1.7, so I would expect it at least 
worth a try.

Perhaps if you manage to measure an improvement, you could report back to the 
list on the results.

Regards,
Pete Dettman

On 20/05/2016 2:07 AM, Alex Malmyguine wrote:
> Good time of the day!
> 
>  
> 
> Would an application which spends 93% of encryption time in
> BigInteger.Mod() and BigInteger.MultiplyMonty() benefit from upgrading 
> from 1.7 to 1.8.1?
> 
> You probably need to know the specifics of the used keys, but I don't 
> know much about that as it's essentially a black box for me yet.
> 
>  
> 
> Thank you!
> 
> Alex
> 



Reply via email to