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