-
Notifications
You must be signed in to change notification settings - Fork 23
Simple benchmark #126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simple benchmark #126
Conversation
The benchmark is largely the Main testing module, but with a much larger plaintext and with a timer. The Java packaging is a little rough; something better could probably be done with Gradle or somithing simpler than Maven.
It's still a bit rough (no way to avoid regenerating sources every time), but it works. Use `gradle jar` to build a jar or `gradle runBench` to run the benchmark.
Also made the Java Gradle build work better by declaring the inputs and outputs to the Dafny compilation tasks so that it can skip regenerating sources.
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
MatthewBennington
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this successfully builds a Java version, it would be good in add that to buildspec.yml file, for repeatability.
* Java: Use new DafnySequence methods for UByte wrapping This essentially boxes a byte[] in one big box rather than an array of (potentially millions of) UByte boxes. * Java: Adapt to unboxed primitives Dafny no longer uses Byte (or UByte) in generated Java code. * Adapt to change in Dafny unboxed-java branch An array of generic type is now represented as a java.lang.Object rather than a dafny.Array. Co-authored-by: Luke Maurer <maurerl@amazon.com>
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
…to java # Conflicts: # build.gradle # src/extern/java/AESEncryption/AES_GCM.java # src/extern/java/Arrays/Array.java # src/extern/java/BouncyCastleCryptoMac/HMac.java # src/extern/java/RSAEncryption/RSA.java # src/extern/java/Random/__default.java # src/extern/java/Signature/ECDSA.java # src/extern/java/UTF8/__default.java # src/extern/java/Utils/Util.java
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
… into java # Conflicts: # .gitignore # EncryptionSDK.sln # buildspec.yml
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
|
I've renamed this from "Java and benchmark" to just "Simple benchmark", since all the Java-related content is being moved to https://github.com/awslabs/aws-encryption-sdk-java-formally-verified |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
|
Note this isn't ready to merge yet anyway, as the build is not verifying/running the new file. I'm not convinced this style of benchmarking is a good idea, but I don't want to lose the code. |
* chore(polymorph): pull in latest polymorph * fix: PR Comments * Add collection of errors to Java * woops --------- Co-authored-by: seebees <ryanemer@amazon.com>
* chore(polymorph): pull in latest polymorph * fix: PR Comments * Add collection of errors to Java * woops --------- Co-authored-by: seebees <ryanemer@amazon.com>
* chore(polymorph): pull in latest polymorph * fix: PR Comments * Add collection of errors to Java * woops --------- Co-authored-by: seebees <ryanemer@amazon.com>
* chore(polymorph): pull in latest polymorph * fix: PR Comments * Add collection of errors to Java * woops --------- Co-authored-by: seebees <ryanemer@amazon.com>
Issue #, if available:
Description of changes:
Externs and a Gradle build file for compiling the encryption SDK to Java.
Also a simple benchmark that generates a 28MB string, encrypts it, decrypts it, and compares to the original plaintext.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.