diff options
| author | Jaymz Julian <jaymzjulian@meta.com> | 2024-02-05 15:00:47 -0800 |
|---|---|---|
| committer | Kazuki Yamaguchi <k@rhe.jp> | 2024-05-02 16:24:36 +0900 |
| commit | d39993a4ce15004d98a450dd71bb804fd0e37182 (patch) | |
| tree | 4300f4d744ec7062fccafbd34921998dac434a1e /spec/ruby/shared/types | |
| 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 'spec/ruby/shared/types')
0 files changed, 0 insertions, 0 deletions
