logoalt Hacker News

3eb7988a1663yesterday at 4:16 PM1 replyview on HN

Yeah, this my guess as well. The other OSes have the ability to pin to specific cores, but first party Apple leaned hard into coding to that hardware vision. Since Apple would love to merge the desktop and mobile software, being very deliberate about what is background vs foreground work is essential. Windows and Linux have not had the hardware guarantees of differentiating between cores, so few programs have taken the effort to be explicit about how the work is executed.

When I ran Gnome, I was regularly annoyed at how often an indexing service would chew through CPU.


Replies

kgeistyesterday at 4:38 PM

There was an article by Raymond Chen where he argued that giving app developers an API option to say "run me under high/low priority" rarely works because every developer views their program as the main character on the stage and couldn't care less about other programs' performance, and they are incentivized to enable the "high priority" option if given a chance because it makes their program run better (at the expense of other programs). So unless there's a strict audit on some kind of app store or some API rules which enforce developers don't abuse the priority API, sometimes it's better to let the OS decide all the scheduling dynamically as the programs run (say, a foreground UI window automatically is given a high priority by the OS), so that the scheduling was fair.

show 1 reply