Imagine how big Apple would/could be if they embraced open hardware. They do have a moat here. macOS is so bloated, I hate it, but the hardware is just so much better than anything else.
The Server market is enormous with a much higher average selling price. It would make perfect sense for Apple to make servers if it meant more revenue and profit than they could make not doing it. There are rumors that Apple is planning a M8 based server in 2029.
If Apple cared about the server market, they would have added syncookies into their TCP stack. Seems like they should have done it during the time of Xserve... it would have been somewhat straightforward to pull it in from upstream BSD back then. But they still haven't (last I checked).
Apple doesn't have the business to business support organization to make this kind of thing work either.
Libdispatch is a burden to use for a server because of its book keeping overhead, and their history with kqueue makes it hard to convince someone to use it.
epoll isn’t very fast, kqueue is indeed much faster as a primitive.
MacOS’s implementation is an order of magnitude or more slower than (say) FreeBSD though, so its not a valid comparison that the syscall simply exists.
Another example of a syscall performing differently would be gettimeofday() in OpenBSD vs linux, its an extremely cheap operation in Linux but quite costly in OpenBSD despite being identical at the kernel boundary.
Sure, they can, but they've done servers several times in their past and I think it's reasonable to guess that results will be similar. Sure, they have a very nice CPU, but they don't have a good reputation for enterprise support and that's more important to selling servers than having the best cpus. If their cpus were 10x as good as the competition, maybe, but they're not, especially in a server context where power and cooling are abundant.
sscaryterry · · focus · HN ↗
MBCook · · focus · HN ↗
They only want to sell the whole package. You might as well ask the Catholic Church to start a rap music 8-track only record club. Same probability.
The hardware is a means to an end, and nothing else to them.
UltraSane · · focus · HN ↗
internet2000 · · focus · HN ↗
UltraSane · · focus · HN ↗
toast0 · · focus · HN ↗
Apple doesn't have the business to business support organization to make this kind of thing work either.
Asmod4n · · focus · HN ↗
Libdispatch is a burden to use for a server because of its book keeping overhead, and their history with kqueue makes it hard to convince someone to use it.
Pesthuf · · focus · HN ↗
There’s no io_uring, but in practice, almost all servers run epoll anyway, don’t they?
dijit · · focus · HN ↗
MacOS’s implementation is an order of magnitude or more slower than (say) FreeBSD though, so its not a valid comparison that the syscall simply exists.
Another example of a syscall performing differently would be gettimeofday() in OpenBSD vs linux, its an extremely cheap operation in Linux but quite costly in OpenBSD despite being identical at the kernel boundary.
UltraSane · · focus · HN ↗
toast0 · · focus · HN ↗