5 ms·
I agree there is a semantic distinction to be made re: epoll, but also an unstated premise: Worse is better when you can iterate to good enough. What is good e
by mustache_kimono 4y ago
I agree there is a semantic distinction to be made re: epoll, but also an unstated premise: Worse is better when you can iterate to good enough.
What is good enough? Well I think you may forget another metric: developer experience and ease of building a correct product. Say you're building a web framework or server, how long is that going to take do that correctly with epoll compared to the alternatives?
- ajross 4y ago> Say you're building a web framework or server, how long is that going to take do that correctly with epoll compared to the alternatives. This is still making too much of the subject. Every major server framework was epoll-capable within a few months of the feature landing. Again, epoll won. It's fine. It's more than fine, it's actually pretty great. It's not hard to use, at all (at least relative to other technologies in the same space). It's just not as subjectively pretty as kqueues.
- mustache_kimono 4y ago> Again, epoll won. epoll didn't win? Linux won. Which was one point of my post (that you're nitpicking). Linux wins for reasons which mostly have nothing to do with design philosophy ("worse is better"), or technical superiority.
- ajross 4y agoI still think you're being way too general here by deploying hyperbole like "technical superiority" or "surpass" to subjects that are just about aesthetics. Adapting it to your frame here, my point was something to the effect of: if kqueues were clearly superior technically, then applications[1] which rely heavily on widely-multiplexed kernel notifications would naturally have migrated to the superior solution. (Ditto for zfs/btrfs, etc...) And... there really are none. For all the yelling, in fact epoll works great. It still works great. Claiming something is "technically superior" to a product that clearly works great in the market is a red flag that you're probably not arguing about technology. [1] Which are MANY! The whole cloud runs on epoll!
- mustache_kimono 4y ago> if kqueues were clearly superior technically, then applications which rely heavily on widely-multiplexed kernel notifications would naturally have migrated to the superior solution. I get it -- you don't like the way I phrased my point. More power to you. But you keep shadowboxing a straw man. My point was: It doesn't matter if kqueue is clearly superior technically or aesthetically or otherwise, Linux (not epoll) wins for reasons that have nothing to do with that. In order to actually make your point re: aesthetics, you have to make a much stronger case, which is that epoll actually is at least the technical equal of kqueue, not merely your feeling that apps would have naturally migrated, etc. Instead of -- people chose Linux (again not epoll) because of ... inertia, herd mentality, knowledge base, app availability, etc. Good luck.
- ajross 4y ago> you have to make a much stronger case, which is that epoll actually is at least the technical equal of kqueue It is, though. Period, full stop. There are no event handling problems solvable with kqueue that cannot be implemented in epoll with code of equal or higher performance and equivalent complexity. There's not one you can point to in practice. Not one. So... doesn't the burden of proof go the other way? Again, I repeat: you're still trying to have an aesthetic argument (in this form: that Linux won for reasons it "doesn't deserve" or something), but you're using the language of unambiguous technical determinism. And, as BSD has discovered over three decades of this nonsense, that doesn't get you anything but an echo chamber.
- mustache_kimono 4y agoWhat are we arguing about again? You simply disagree as to whether epoll is the equal of kqueue? Who cares? > It is, though. Period, full stop. Yeah I didn't ask for you not to explain yourself. > you're still trying to have an aesthetic argument (in this form: that Linux won for reasons it "doesn't deserve" or something) No I am not. I don't care either way whether Linux deserved it or not. I am only saying, at the time it mattered, technical merit wasn't the reason Linux beat all the other Unixes, because obviously it wasn't. This truth is at least interesting to consider. Now, reread my initial comment, and ask whether your nitpicking matters one iota? Just because you think my affection for kqueue is an aesthetic rather than technical choice (because broken semantics aren't technical, okay whatever) doesn't matter to the point of the comment at all. You bike shedded my comment. I agreed with your nitpicky point, but said there may be other concerns, and then its 5 comments about how I'm still wrong about something-I-know-no-what? I guess my aesthetic sense? JFC. You've never made an affirmative argument! It's all sniping from the sidelines.