I'm currently trying to measure the performance of X509 validation implementations (including parsing, chain building, and chain validation).
I managed to write test harnesses for Chromium, Firefox, and OpenSSL But after testing on about 20000 valid certs from CT logs, there seems to be a performance difference between Chromium and the other two implementations (shown on the graph below), which makes me concerned that I don't have the optimal way to call the validation procedure in my test harness. So I was wondering if anyone with more experience with X509 validation in Chromium could help find performance issues in my benchmarking setup.
More detail about my setup:
- For each certificate in my test case, I'm repeating the benchmark loop 10 times and the minimum wall-clock time is used for the plot above.
- For both Chromium and Firefox, I'm using a quite old version from around Aug, 2020, due to constraints from a previous work.
- I removed a few things from `CertVerifyProcBuiltin::Verify` and its subsequent calls, including EV checks and logging/telemetry calls. The same is done for Firefox.
Any help would be appreciated!
Best,
Zhengyao
-