You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rabih Mourad (Jira)" <ji...@apache.org> on 2019/11/20 16:31:00 UTC
[jira] [Created] (PROTON-2137) [cpp] Performance regression found
in 0.29.0
Rabih Mourad created PROTON-2137:
------------------------------------
Summary: [cpp] Performance regression found in 0.29.0
Key: PROTON-2137
URL: https://issues.apache.org/jira/browse/PROTON-2137
Project: Qpid Proton
Issue Type: Bug
Components: cpp-binding
Affects Versions: proton-c-0.29.0
Reporter: Rabih Mourad
We are upgrading in our Murex code the proton version from 0.27.0 to 0.29.0.
While running our unit tests, we found a considerable performance regression.
We were able to reproduce the regression in a very simple use case.
Please find the code attached.
This test takes 1 ms in the version 0.27.0 and 0.28.0 but it takes 103 ms in 0.29.0 .
After analysis we discovered that the regression is coming from [PROTON-2075|[https://github.com/apache/qpid-proton/commit/e152190459cd75792002d2aae72d351dc22abe27]]: [C++] Allow TLS to use system default trusted certificate.
In fact we noticed that the ssl_client_options and the ssl_server_options are not default constructed the same way and that the [ssl_server_options |[https://github.com/apache/qpid-proton/blob/e152190459cd75792002d2aae72d351dc22abe27/cpp/src/ssl_options.cpp#L99]|https://github.com/apache/qpid-proton/blob/e152190459cd75792002d2aae72d351dc22abe27/cpp/src/ssl_options.cpp#L99] is calling [pni_init_ssl_domain|[https://github.com/apache/qpid-proton/blob/9dd013335de0694bc52848897b17190f297450c1/c/src/ssl/openssl.c#L475]|https://github.com/apache/qpid-proton/blob/9dd013335de0694bc52848897b17190f297450c1/c/src/ssl/openssl.c#L475] which is taking some time.
What we would like is to avoid initializing ssl domain when it’s disabled from the connection_options.
Does it sound reasonable for you?
Here is a patch that we propose. All proton unit tests are green on the master.
Can you please [~astitcher] check if this patch is aligned with what you meant to do in (PROTON-2075) ?
Thanks,
Ali & Rabih
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org