Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

evp_setpeer returns 0 on Windows #16

Open
quarckster opened this issue Sep 26, 2024 · 2 comments
Open

evp_setpeer returns 0 on Windows #16

quarckster opened this issue Sep 26, 2024 · 2 comments

Comments

@quarckster
Copy link

quarckster commented Sep 26, 2024

evp_setpeer returns 0.000000 on Windows 10 both x86 and x86_64 if perftools. Below is the table with results for various evp_setpeer runs built with OpenSSL 1.1.1. Each result is an average of 25 runs.

benchmark           platform            threads  result
evp_setpeer dh      windows-10-x86      1        0.064
evp_setpeer dh      windows-10-x86      10       0.0
evp_setpeer dh      windows-10-x86      100      0.128
evp_setpeer ec256   windows-10-x86      1        1.564
evp_setpeer ec256   windows-10-x86      10       1.48
evp_setpeer ec256   windows-10-x86      100      1.568
evp_setpeer ec521   windows-10-x86      1        2.124
evp_setpeer ec521   windows-10-x86      10       2.248
evp_setpeer ec521   windows-10-x86      100      2.44
evp_setpeer ec521   windows-10-x86_64   1        1.62
evp_setpeer ec521   windows-10-x86_64   10       2.116
evp_setpeer ec521   windows-10-x86_64   100      2.004
evp_setpeer ec521   windows-10-x86_64   500      2.06
evp_setpeer x25519  windows-10-x86_64   1        0.0
evp_setpeer x25519  windows-10-x86_64   10       0.06
evp_setpeer x25519  windows-10-x86_64   100      0.06
evp_setpeer x25519  windows-10-x86_64   500      0.0
evp_setpeer x25519  windows-10-x86      1        0.0
evp_setpeer x25519  windows-10-x86      10       0.0
evp_setpeer x25519  windows-10-x86      100      0.0

On the other hand evp_setpeer never returns 0.000000 on other platforms on the same CPU.

@Sashan
Copy link
Contributor

Sashan commented Sep 26, 2024

It's been pointed out on chat. Each thread executes a loop to gather desired performance data

for (i = 0; i < num_calls / threadcount; i++) {

the numcalls in evp_setpeer test tool is set to 10000. if we run 500 (or 100) threads, then the loop performs just 20 (or 100) iterations. May be we should change this strategy. One option is to let all threads run for fixed amount of time (30 seconds for example) and count number of iterations of each test.

@t8m
Copy link
Member

t8m commented Sep 26, 2024

30 seconds would be definitely too much given we then call the whole test many times to obtain the statistics (average + std)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants