Benchmark RSA private key parsing. We do non-trivial work when parsing RSA private keys (RSA_check_key) and, in some consumers, this is performance-sensitive. Bug: b/192484677 Change-Id: Ic27f5f11d8bd030de77dd500a826fb2dd7c5b75d Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/49105 Reviewed-by: Adam Langley <agl@google.com>
diff --git a/tool/speed.cc b/tool/speed.cc index 2d01f4b..613e630 100644 --- a/tool/speed.cc +++ b/tool/speed.cc
@@ -270,6 +270,16 @@ return false; } results.Print(name + " verify (fresh key)"); + + if (!TimeFunction(&results, [&]() -> bool { + return bssl::UniquePtr<RSA>(RSA_private_key_from_bytes( + kRSAKeys[i].key, kRSAKeys[i].key_len)) != nullptr; + })) { + fprintf(stderr, "Failed to parse %s key.\n", name.c_str()); + ERR_print_errors_fp(stderr); + return false; + } + results.Print(name + " private key parse"); } return true;