nickva opened a new issue, #4739:
URL: https://github.com/apache/couchdb/issues/4739

   There is a new NIF-based socket backend starting with [Erlang 
23](https://www.erlang.org/blog/otp-23-highlights/#gen_tcp-and-the-new-socket-module).
 It might provide some benefits such as faster / lower latency connections and 
allow us to inspect connection state easier as there are more options/flags we 
can pass to recv/send calls.
   
   It's easy enough to experiment with it by toggling: `-kernel inet_backend 
socket` in `vm.args` so it can be experimented with an already existing 
package/release.
   
   There are however some differences as the implementation are not [100% 
compatible](https://www.erlang.org/doc/man/gen_tcp.html).. It involves corner 
cases of how closed connects are detected, how send may block vs not-block, etc.
   
   The idea is that it might be worth at some point switching to it as the 
default.  Before switching to it as the default we'd have to ensure the CI 
passes, benchmark it, and ideally a track record someone trying it out long 
enough on a large enough workload sample. 
   
   An example full CI run on a variety of os/platforms we support. It seems to 
pass the CI test well:
   
   <img width="574" alt="Screen Shot 2023-08-24 at 11 36 10 AM" 
src="https://github.com/apache/couchdb/assets/211822/4cc901f7-ed24-4951-ba5e-9911214fecee";>
   
   (.deb packages currently fail for an unrelated reason)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@couchdb.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to