You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Performance is an important aspect of an encryption library especially when you deal with large datasets.
Ive been doing perf tests of AWS Encryption SDK for different languages and found that the Go implementation is horribly slow.
I’ve run various test with file sizes between 1MB all the way to 5GB. Here is one test result that summarizes what I’m seeing. The test encrypts then decrypts 10 50MB files. I ran the entire test 5 times and took averages.
Language Performance
C = 9 seconds
Python = 14 seconds
Go = 83 seconds
I was shocked that Go performed that poorly given that I have tested the AWS S3 Encryption Client fo Go and it is much faster than a similar test I’ve done using the AWS Encryption SDK and streaming encrypted data to the AWS S3 Client.
I’ve read that the priority is to support more languages which I understand. I was delighted to see that Go was added earlier in the year but really disappointed after doing these tests. Unfortunately we can’t use the Go implementation since it adds 6 to 10 X processing time.
Is there any plan to improve this aspect?
The text was updated successfully, but these errors were encountered:
Yes, we are actively working on the performance of aws-encryption-sdk, for all of the target languages generally and for Go specifically.
I cannot make any specific statements about the final performance numbers, nor release dates, but our performance efforts so far have shown positive results.
Performance is an important aspect of an encryption library especially when you deal with large datasets.
Ive been doing perf tests of AWS Encryption SDK for different languages and found that the Go implementation is horribly slow.
I’ve run various test with file sizes between 1MB all the way to 5GB. Here is one test result that summarizes what I’m seeing. The test encrypts then decrypts 10 50MB files. I ran the entire test 5 times and took averages.
Language Performance
C = 9 seconds
Python = 14 seconds
Go = 83 seconds
I was shocked that Go performed that poorly given that I have tested the AWS S3 Encryption Client fo Go and it is much faster than a similar test I’ve done using the AWS Encryption SDK and streaming encrypted data to the AWS S3 Client.
I’ve read that the priority is to support more languages which I understand. I was delighted to see that Go was added earlier in the year but really disappointed after doing these tests. Unfortunately we can’t use the Go implementation since it adds 6 to 10 X processing time.
Is there any plan to improve this aspect?
The text was updated successfully, but these errors were encountered: