diff options
author | David Benjamin <davidben@google.com> | 2021-06-30 17:41:42 -0400 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2021-08-30 16:10:15 +0000 |
commit | 417010f9b775d899c823e6dc7f95669b745fd282 (patch) | |
tree | 7f1172ba1945d7cfdc6dc64949e9550f4cb35ae3 /tool | |
parent | c6d3fd1d0972d17b2b115f6b7482b62e50406f56 (diff) | |
download | boringssl-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.cc | 10 |
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; |