aboutsummaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@google.com>2021-06-30 17:41:42 -0400
committerAdam Langley <agl@google.com>2021-08-30 16:10:15 +0000
commit417010f9b775d899c823e6dc7f95669b745fd282 (patch)
tree7f1172ba1945d7cfdc6dc64949e9550f4cb35ae3 /tool
parentc6d3fd1d0972d17b2b115f6b7482b62e50406f56 (diff)
downloadboringssl-417010f9b775d899c823e6dc7f95669b745fd282.zip
boringssl-417010f9b775d899c823e6dc7f95669b745fd282.tar.gz
boringssl-417010f9b775d899c823e6dc7f95669b745fd282.tar.bz2
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>
Diffstat (limited to 'tool')
-rw-r--r--tool/speed.cc10
1 files changed, 10 insertions, 0 deletions
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 @@ static bool SpeedRSA(const std::string &selected) {
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;