3 ms·
I'm guessing you didn't/couldn't use poll(2) because of the performance hit (both user and kernel side) of parsing/checking the less compact data structure? I
by syncsynchalt 3y ago
I'm guessing you didn't/couldn't use poll(2) because of the performance hit (both user and kernel side) of parsing/checking the less compact data structure?
I both miss and don't miss the days before epoll(2) et al.
- warpspin 3y agoOriginally, we did not use it because it did not exist. That service existed already in a time before poll(2) was a thing on Linux and when we still had 256 fds only. The increase to 1024 and then to basically unlimited came just in time for us back then, and we were glad a simple recompile with a #define was all we needed to scale it. If my memory serves me right, we did try poll(2) though a while after it became available (and we already ran the 16k selects) but it was simply less performant. Later on, when java.nio came around and Java finally could "compete" for network services therefore, we switched from C to Java completely for that service.