commit | 78f5e7573902345a9354385739cb3776ab29ae7d | [log] [tgz] |
---|---|---|
author | David Benjamin <davidben@google.com> | Tue Aug 08 18:19:37 2017 -0400 |
committer | David Benjamin <davidben@google.com> | Mon Aug 14 19:51:48 2017 +0000 |
tree | b1625e2c8c2becc9c63ad9331f1b2d001f9d4886 | |
parent | 488ca0eacefd3bc8c7570e8ed5053f4a49451419 [diff] |
Enable AVX2 and ADX in p256-x86_64-asm.pl. We can test these with Intel SDE now. The AVX2 code just affects the two select functions while the ADX code is a separate implementation. Haswell numbers: Before: Did 84630 ECDH P-256 operations in 10031494us (8436.4 ops/sec) Did 206000 ECDSA P-256 signing operations in 10015055us (20569.0 ops/sec) Did 77256 ECDSA P-256 verify operations in 10064556us (7676.0 ops/sec) After: Did 86112 ECDH P-256 operations in 10015008us (8598.3 ops/sec) Did 211000 ECDSA P-256 signing operations in 10025104us (21047.2 ops/sec) Did 79344 ECDSA P-256 verify operations in 10017076us (7920.9 ops/sec) Skylake numbers: Before: Did 75684 ECDH P-256 operations in 10016019us (7556.3 ops/sec) Did 185000 ECDSA P-256 signing operations in 10012090us (18477.7 ops/sec) Did 72885 ECDSA P-256 verify operations in 10027154us (7268.8 ops/sec) After: Did 89598 ECDH P-256 operations in 10032162us (8931.1 ops/sec) Did 203000 ECDSA P-256 signing operations in 10019739us (20260.0 ops/sec) Did 87040 ECDSA P-256 verify operations in 10000441us (8703.6 ops/sec) The code was slightly patched for delocate.go compatibility. Change-Id: Ic44ced4eca65c656bbe07d5a7fee91ec6925eb59 Reviewed-on: https://boringssl-review.googlesource.com/18967 Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: David Benjamin <davidben@google.com>
BoringSSL is a fork of OpenSSL that is designed to meet Google's needs.
Although BoringSSL is an open source project, it is not intended for general use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing so is likely to be frustrating because there are no guarantees of API or ABI stability.
Programs ship their own copies of BoringSSL when they use it and we update everything as needed when deciding to make API changes. This allows us to mostly avoid compromises in the name of compatibility. It works for us, but it may not work for you.
BoringSSL arose because Google used OpenSSL for many years in various ways and, over time, built up a large number of patches that were maintained while tracking upstream OpenSSL. As Google's product portfolio became more complex, more copies of OpenSSL sprung up and the effort involved in maintaining all these patches in multiple places was growing steadily.
Currently BoringSSL is the SSL library in Chrome/Chromium, Android (but it's not part of the NDK) and a number of other apps/programs.
There are other files in this directory which might be helpful: