Add a --terse option
[tools.git] / perf / README
1 Performance testing tools
2 =========================
3
4 This directory holds tools for carrying out performance tests on OpenSSL.
5
6 The various performance test applications are held within this directory, and
7 various helper files are held in perflib.
8
9 The performance test applications are intended to be linked against a supported
10 OpenSSL version, e.g. 3.1, 3.0, 1.1.1 - which is the version of OpenSSL that
11 is to be tested. Typically we would expect the apps to be built multiple times
12 (once for each target OpenSSL version to be tested).
13
14 To build the tests we assume that the target OpenSSL has already been built.
15 Two environment variables are required:
16
17 TARGET_OSSL_INCLUDE_PATH: Points to a directory where the OpenSSL include files
18 are held (e.g. typically "include" under the build directory).
19
20 TARGET_OSSL_LIBRARY_PATH: Points to a directory where libcrypto.so and libssl.so
21 are contained.
22
23 To build:
24
25 export TARGET_OSSL_INCLUDE_PATH=/path/to/openssl/include
26 export TARGET_OSSL_LIBRARY_PATH=/path/to/openssl
27 make
28
29 The performance testing apps must be run ensuring that libcrypto.so and
30 libssl.so are on the library path.
31
32 For example:
33
34 LD_LIBRARY_PATH=/path/to/openssl ./randbytes 10
35
36 Each performance testing app will take different parameters. They are described
37 individually below.
38
39 randbytes
40 ---------
41
42 The randbytes test repeated calls the RAND_bytes() function in blocks of 100
43 calls, and 100 blocks per thread. The number of threads to use is provided as
44 an argument and the test reports the average time take to execute a block of 100
45 RAND_bytes() calls.
46