I could not reproduce the error directly with Chrome 16.0.912.75. It did
churn for a minute or two on the larger file (and prompted me to kill the
tab). When I would run a test locally it looks like it's spending most of
the time in openpgp_cfb_encrypt.

However, since this was running so slow it led me to analyze this method
and I realized that what seemed to be the slowest was actually string
concatenation. I switched the way this string grew to be more optimized,
and it seems to run quite a bit faster on my machine now. Please try out
the new code and let me know if you see improvements.  I haven't had a
chance to apply this to all encrypting situations or any decrypting
situations so they may or may not suffer from similar issues. I didn't have
a chance to look at those methods in depth.

Just FYI:
OpenPGP works by using the public/private key to generate a session key,
and then uses that session key to encrypt the rest of the data in one of
various symmetric formats, symmetric being easier to encrypt/decrypt.
(Generally keys are RSA and the actual message encryption is AES). In this
case, openpgp js is using AES 256 and spending quite a bit of time churning
in there.

Hope this helps!
Sean

On Wed, Feb 1, 2012 at 10:44 AM, Fabio Pietrosanti (naif) <
[email protected]> wrote:

> Made some test on Mac Os X, 34MB file:
>
> Firefox 9.0.1:
> I got continuous Unresponsive Script Warning (there's a way to prevent
> this?)
> Then i clicked "don't ask me again".
> Then firefox staying running at 100% of cpu, after 20 minutes i had to
> kill the process.
>
> Safari 5.1.2:
> nothing happen when i do drag/drop
>
> -naif
>
> On 2/1/12 3:58 PM, Alex (via OpenPGP.js) wrote:
> > You've to move a file on the box but I was not able to reproduce the bug
> with Chrome 16.0.912.77...
> _______________________________________________
>
> http://openpgpjs.org
>
_______________________________________________

http://openpgpjs.org

Reply via email to