Thread: Reduce the instruction overhead of OpenSSL calls

Reduce the instruction overhead of OpenSSL calls

From
"ryanewang(王蕾)"
Date:
Hi,
From the openssl documentation, when the value of ret is greater than 0, the SSL_get_error() function returns SSL_ERROR_NONE. 
So, it seems that when the return value of SSL_read() or SSL_write() function is greater than 0, we don't need to make an error judgment. 
The attached patch attempts to reduce unnecessary error judgments. 

I am glad for feedback and reviews!


.wecom_custom_card_mobile *,.wecom_custom_card_mail *,.wecom_custom_card_address * {color: rgba(10, 17, 26, 0.50) !important; } .qqmail_sign *{text-decoration-line: none !important; line-break: after-white-space; }

腾讯
ryanewang研发四组员工



Attachment

Re: Reduce the instruction overhead of OpenSSL calls

From
Daniel Gustafsson
Date:
> On 27 Feb 2025, at 14:16, ryanewang(王蕾) <ryanewang@tencent.com> wrote:
>
> Hi,
> From the openssl documentation, when the value of ret is greater than 0, the SSL_get_error() function returns
SSL_ERROR_NONE. 
> So, it seems that when the return value of SSL_read() or SSL_write() function is greater than 0, we don't need to
makean error judgment.  
> The attached patch attempts to reduce unnecessary error judgments.

Calling SSL_get_error() is needed to clear the error queue for subsequent IO
operations, so I don't skipping it would be wise.  I imagine that any overhead
is dwarfed by the time spent in network IO anyways.

--
Daniel Gustafsson