Keep in mind macOS will allocate more memory than it needs to for caching purposes, and if you have a lot to spare it'll also not clear out memory once it is done with it, until it is needed for something else, so just reading the top number of memory used doesn't always tell you so much. If you look at RAM the traditional way, only consider app memory + wired. Or just look at the pressure graph
Right. The i9 won't be mainstream though. A new i3, i5, i7, i9 group will come along however, with the performance of the current i9 in the i7. I assume you didn't mean the same i9 though so that's just pedantic - Point I want to get to though, is that the i9 at that stage will also seem old, paging pretty much as quickly as the i7. Multi-threaded performance may stay more on-par with future products, but energy consumption and heat generation will be very high compared to the processors of the future. And future chips will come with new instructions and Intel Xe. - Point and case is that buying a faster chip for future proofing has historically never held ground, as the advancement in processor tech over a year is more than the financial investment now for upgrading to the more equivalent chip.
And I say that as someone who would buy the i9 config myself if I were to get one now ;P.
[automerge]1574424774[/automerge]
Compiling is actually mostly limited by storage speed. Linking (a step in compilation) is most of the time single-threaded. Some parts of the compilation workflow will benefit from more cores, yes, but most of what we wait for when we compile won't benefit greatly. Plus you rarely compile all your components. That only happens if you pull in a significant set of git changes from others that fundamentally changes things. Normally your build chain is intelligent enough to only compile modified modules and relink them, and again, the linker is mostly single-threaded. So you wind up with storage speed being the biggest factor in compile times, by far. At least for day-to-day compiles. Compile the whole Linux kernel with all the modules and it's a different situation.