diff options
author | Jaymz Julian <[email protected]> | 2024-02-05 15:00:47 -0800 |
---|---|---|
committer | Kazuki Yamaguchi <[email protected]> | 2024-05-02 16:24:36 +0900 |
commit | d39993a4ce15004d98a450dd71bb804fd0e37182 (patch) | |
tree | 4300f4d744ec7062fccafbd34921998dac434a1e /test/openssl | |
parent | f5af620c611bf62d2b29111a0347f306c1f38644 (diff) |
[ruby/openssl] Fix performance regression in do_write(s)
This causes significant performance issues when using large (>10meg) writes
Fix by adjusting the buffer write function to clear the buffer once, rather than
piece by piece, avoiding a case where a large write (in our case, around
70mbytes) will consume 100% of CPU. This takes a webrick GET request via SSL
from around 200kbyts/sec and consuming 100% of a core, to line speed on gigabit
ethernet and 6% cpu utlization.
https://github.com/ruby/openssl/commit/d4389b425d
Diffstat (limited to 'test/openssl')
0 files changed, 0 insertions, 0 deletions