tmds / Tmds.LinuxAsync

MIT License
25 stars 3 forks source link

Explore reducing the locking in Queue #52

Closed tmds closed 4 years ago

tmds commented 4 years ago

The lock in Queue class serves these purposes:

I'm not sure if there is much to gain by trying to replace locking with other synchronization primitives, because the lock should not be contended.

cc @adamsitnik @antonfirsov

tmds commented 4 years ago

I'm going to take a look at this, mostly for the fun/challenge of it.

It's not something that shows up as a bottleneck in the traces, but maybe there is still a measurable gain.

I'm going to focus on epoll. I'm not sure if the same code will be usable for io_uring.

tmds commented 4 years ago

Fixed in https://github.com/tmds/Tmds.LinuxAsync/pull/76