[ 
https://issues.apache.org/jira/browse/PROTON-2137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rabih Mourad updated PROTON-2137:
---------------------------------
    Description: 
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:[C++] Allow TLS to use system default trusted 
certificate|https://github.com/apache/qpid-proton/commit/e152190459cd75792002d2aae72d351dc22abe27]
 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 |#L99]] 
is calling [pni_init_ssl_domain|#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

  was:
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|[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 |#L99]] 
is calling [pni_init_ssl_domain|#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


> [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
>            Priority: Major
>         Attachments: code.txt, remove-default-ssl.patch
>
>
> 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:[C++] Allow TLS to use system default trusted 
> certificate|https://github.com/apache/qpid-proton/commit/e152190459cd75792002d2aae72d351dc22abe27]
>  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 
> |#L99]] is calling [pni_init_ssl_domain|#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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to