4 ms·
> The fact that an idle Mac has over 2,000 threads running in over 600 processes is good news, and the more of those that are run on the E cores, the faster our
by eviks 9mo ago
> The fact that an idle Mac has over 2,000 threads running in over 600 processes is good news, and the more of those that are run on the E cores, the faster our apps will be
This doesn't make sense in a rather fundamental way - there is no way to design a real computer where doing some useless work is better than doing no work, just think about energy consumption and battery life since this is laptops.
Or that's just resources your current app can't use
Besides, they aren't that well engineered, bugs exist and last and come back, etc, so even when on average the impact isn't big, you can get a few photo analysis indexing going haywire for awhile and get stuck
- ahepp 9mo agoI think in the example the OP is making, the work is not useless. They're saying if you had a system doing the same work, with maybe 60 processes, you're better off splitting that into 600 processes and a couple thousand threads, since that will allow granular classification of tasks by their latency sensitivity
- eviks 9mo agoBut it is, he's talking about real systems with real processes in a generic way, not a singular hypothetical where suddenly all that work must be done, so you can also apply you general knowledge that some of those background processes aren't useful (but can't even be disabled due to system lockdown)
- ua709 9mo agoI think you're right that the article didn't provide criteria for when this type of system is better or worse than another. For example, the cost of splitting a work into threads and switching between threads needs to be factored in. If that cost is very high, then the multi-thread system could very well be worse. And there are other factors too. However, given the trend in modern software engineering to break work into units and the fact that on modern hardware thread switches happen very quickly, being able to distribute that work across different compute clusters that make different optimization choices is a good thing and allows schedulers to get results closer to optimal. So really it boils down to if the gains in doing the work on different compute outweighs the cost splitting and distributing the work, then it's a win. And for most modern software on most modern hardware, the win is very significant. As always, YMMV
- locknitpicker 9mo ago> (...) a singular hypothetical where suddenly all that work must be done (...) This is far from being a hypothesis. This is an accurate description of your average workstation. I recommend you casually check the list of processes running at any given moment in any random desktop or laptop you find in a 5 meter radius.
- eviks 9mo agoI've done more than that - after noticing high CPU use I investigated what those processes do, discovered services that I never need and tried to disable them. Now try to actually prove your point
- locknitpicker 9mo ago> Now try to actually prove your point Count the processes. Go on.
- eviks 9mo agoAre you a Mac? Why are you asking me to waste time doing useless counts?
- mathisfun123 9mo ago> This doesn't make sense in a rather fundamental way - there is no way to design a real compute Hmm I guess the apple silicon laptops don't exist? Did I dream that I bought one year? Maybe I did - it has been a confusing year.
- eviks 9mo agoYou did dream, though not that you bought a laptop, but rather that you understood the comment.
- mathisfun123 9mo agoYou literally say in a sibling comment > he's talking about real systems with real processes in a generic way So which real but impossible to design systems are we discussing then if not the Apple silicon systems?
- eviks 9mo agoYou literally cut off the quote before the actual point is explained and got hung on your imagined issue, of course it's Apple silicon systems. If you want to progress you might want follow the HN discussion guidelines and just explain your actual argument so that your mistake can be addressed.
- mathisfun123 9mo ago> there is no way to design a real computer where doing some useless work is better than doing no work, just think about energy consumption and battery life since this is laptops. you are saying either 1. these laptops are impossible 2. these laptops exhaust battery life both of these things are manifestly false. so what exactly are you trying to say?
- eviks 9mo ago3. Doing useless work wastes battery life
- m463 9mo agoI would say a good number of those processes/cores are something you don't want running. And you can't turn them off unless you can modify the boot partition to disable the launch configs. sigh.
- dgxyz 9mo agoMost of them don’t do anything at all until needed.
- GeorgeOldfield 9mo agomost of them are needed at one time or another. also a mandatory: and yet the macbooks are faster and more battery efficient than any PC laptop with linux/windows
- locknitpicker 9mo ago> (...) where doing some useless work is better than doing no work (...) This take expresses a fundamental misunderstanding of the whole problem domain. There is a workload comprised of hundreds of processes, some of which multithreaded, that need to be processed. That does not change nor go away. You have absolutely no suggestion that any of those hundreds of processes is "useless". What you will certainly have are processes that will be waiting for IO, but waiting for a request to return a response is not useless.
- ua709 9mo agoIn this case the “useless” work is the cost of moving and distributing the threads between different compute clusters. That cost is nonzero, and does needs to be factored in, but it’s also more than overwhelmed by the benefits gained from doing the move.