Issue #14739 has been updated by ioquatix (Samuel Williams). Compare async-dns with bind9 for the same workload: ``` # Without libcoro-fiber user system total real Async::DNS::Server 0.000345 0.000029 0.000374 ( 0.000381) Bind9 0.000294 0.000025 0.000319 ( 0.000328) # With libcoro-fiber (no significant difference) user system total real Async::DNS::Server 0.000320 0.000048 0.000368 ( 0.000371) Bind9 0.000218 0.000033 0.000251 ( 0.000258) ``` This one was a toss-up, I'd say there was no significant difference. ---------------------------------------- Feature #14739: Improve fiber yield/resume performance https://bugs.ruby-lang.org/issues/14739#change-71882 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- I am interested to improve Fiber yield/resume performance. I've used this library before: http://software.schmorp.de/pkg/libcoro.html and handled millions of HTTP requests using it. I'd suggest to use that library. As this is used in many places in Ruby (e.g. enumerable) it could be a big performance win across the board. Here is a nice summary of what was done for RethinkDB: https://rethinkdb.com/blog/making-coroutines-fast/ Does Ruby currently reuse stacks? This is also a big performance win if it's not being done already. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>