diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-12-30 17:42:32 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-12-30 17:42:32 -0800 |
| commit | 0fb33189287f643b98760a663b75e6016537878a (patch) | |
| tree | eeb3d8961590d2e457c167530a40eb7ee723b71a /src/tools | |
| parent | 7f7a8194a60e9f5883866dd8b8c22d4576fc1abc (diff) | |
| download | nng-0fb33189287f643b98760a663b75e6016537878a.tar.gz nng-0fb33189287f643b98760a663b75e6016537878a.tar.bz2 nng-0fb33189287f643b98760a663b75e6016537878a.zip | |
kqueue: support concurrent pollers
This allows greatly increased scalability for kqueue based systems
with lots of cores (more likely FreeBSD than Darwin, as most macs
only have a smattering of cores), but even for macs we can engage
a few cores for system calls giving improvements.
The implementation here is pretty simple -- each file descriptor
gets assigned to its own kqueue by taking the numeric value of the
file descriptor modulo the number of kqueues we have opened.
The same approach will be adopted for epoll and Solaris/illumos port events.
Diffstat (limited to 'src/tools')
0 files changed, 0 insertions, 0 deletions
