3 ms·
"It does no such thing." It does. It says quite clearly, quote "If you look at most inter-process communication mechanisms, you can see that they are most oft
by throwaway09223 4y ago
"It does no such thing."
It does. It says quite clearly, quote "If you look at most inter-process communication mechanisms, you can see that they are most often used by only two programs — usually a client and server." Two processes on a local machine, using shared memory or other IPC. IPC, not network calls.
"So was carrier pigeon, but sometimes we want to send messages faster than that."
Don't be disingenuous. You haven't articulated a faster mechanism and in fact there isn't one.
"Erm, they are the points raised by the article,"
No, they are not. Based on your replies it seems you may fundamentally not understand the points raised by the article.
"Could you show me? I don't think it's possible to implement a select() that works with Linux's fancy new iouring that uses the provided files and buffers features easily, but I'd like to be proven wrong."
You've already provided an example. The Linux kernel provides both select, a posix interface, and io_uring. Nothing about providing posix interfaces precludes providing specialized interfaces as well.
- geocar 4y ago> It says quite clearly, quote "If you look at most inter-process communication mechanisms, you can see that they are most often used by only two programs — usually a client and server." Two processes on a local machine, using shared memory or other IPC. IPC, not network calls. Two processes! Not two threads! > Don't be disingenuous. How would you know? You still haven't read the article, so you're arguing with a straw-man! > You haven't articulated a faster mechanism and in fact there isn't one. "la la la my fingers are in my ears I can't hear you!" is the best you got? You seem to admit iouring exists, isn't POSIX, but what? You just don't believe it's faster now? Bull shit. > You've already provided an example. The Linux kernel provides both select, a posix interface, and io_uring. Nothing about providing posix interfaces precludes providing specialized interfaces as well. If you think a reimplementation of Linux is "easy" you need to have your head examined: Microsoft has near-infinite money and eventually gave up, deciding POSIX was too hard, and just implemented another hypervisor.
- throwaway09223 4y ago"Two processes! Not two threads!" And I wrote "thread or process" because, architecturally regarding IPC, the distinction is unimportant. "How would you know?" Due to the inaccuracy of your analogy, with regard to actual systems interfaces. "You seem to admit iouring exists, isn't POSIX, but what? You just don't believe it's faster now? Bull shit." io_uring is not faster than shared memory via mmap. "If you think a reimplementation of Linux is "easy" you need to have your head examined" I think now we're touching on the limits of your experience and expertise. Implementing select(2) on Linux is indeed quite simple. Have you ever read through select.c? Have you ever even implemented a posix subsystem? I have. "Microsoft has near-infinite money and eventually gave up, deciding POSIX was too hard, and just implemented another hypervisor. " This isn't how things work on Windows. As an aside, I've noticed that your ignorance has shifted into rudeness. Don't bother to respond again. This conversation is over.