intel / intel-ipsec-mb

Intel(R) Multi-Buffer Crypto for IPSec
BSD 3-Clause "New" or "Revised" License
292 stars 88 forks source link

Reading performance output and including benchmarks #140

Closed Intensity closed 10 months ago

Intensity commented 10 months ago

Is it possible to include cpb or megabytes per second output for some Intel-based processor in the repository / README as a live benchmark result?

Besides this, I'm wondering what it would take to turn the performance output / benchmark results into either cycles per byte or effective megabytes per second throughput for the various algorithms.

I'm not clear on what calculations or translations are needed to get those output formats for the benchmarks.

tkanteck commented 10 months ago

As explained in README the tool reports TSC cycles spent processing packet of given size with selected algorithm (Note: TSC clock may or may not be the same as CPU clock). Such form of the report makes it easy for us to work on algorithm improvements. cpb or throughput can also be derived from it. We understand that this format is not the most friendly or commonly used one. Output of imb-perf can be captured in a file and then post processed - see here. There is additional script that allows to calculate throughput or slope & intercept.

To pass packet size and clock speed as arguments and calculate throughput in Mbps: ipsec_diff_tool.py -t 512 2200 file_1.txt file_2.txt

At the same time, we'll look into adding throughput and/or cpb reporting in future releases.