Similar to this PR. I compared latency times in Python WebSockets vs this package and I found that while Python latency essentially equaled my ping to the server, Julia took nearly twice as long.
I did some digging and I found that I can match the times by doing the following
HTTP.WebSockets.open("wss://localhost") do ws
Sockets.nagle(ws.io.io.io, false)
Sockets.quickack(ws.io.io.io, true)
end
I propose 4 options
Make this behaviour more explicit in the documentation
I find ws.io.io.io path quite funky, and maybe it will be possible to make it more easily accessible from ws object.
Disable Nagle algorithm and enable TCP_QUICKACK by default
Create an option to pass these options into the open method
I am using
Julia 1.9.0
HTTP.jl 1.9.16
I didn't submit my code I used for benchmarking, but I am happy to do so if requested. I can implement the changes, but I want to know which of the 4 options would best align with the vision of this project
Similar to this PR. I compared latency times in Python WebSockets vs this package and I found that while Python latency essentially equaled my ping to the server, Julia took nearly twice as long.
I did some digging and I found that I can match the times by doing the following
I propose 4 options
I am using
I didn't submit my code I used for benchmarking, but I am happy to do so if requested. I can implement the changes, but I want to know which of the 4 options would best align with the vision of this project