This is the primary reason I’m holding out for the new Mac Pro. As great as the 2018 MacBook Pro looks and feels, its internals are laden with glue that prevents or complicates basic thermal optimization, not to mention upgrades.
Like the iMac Pro, the new MacBook Pro was a step in the right. direction, but for most of us who demand performance, all these steps lead to the new Mac Pro with a modular design and more opportunities for tuning performance.
As of now, the only real improvements readily available for Mac’s high-end desktop machines is adding more CPU cores. And you can already get a 12-core CPU. Unfortunately, there aren’t mass market 7 GHz chips and probably won't be for some time.
You can already add 64GB of RAM to the Mac Pro, the GPU has 12 GB of GDDR5 VRAM, and there is a max of 12-cores for the high-end model.
Adding additional RAM allows you to keep more applications available in memory. Since RAM is faster than an SSD, you can utilize the swap for holding applications or temporary files. 64GB of RAM is like having an ultra-fast 64GB SSD for writing files to and from for application's internal use, which is why it improves the Mac's speed.
GPU RAM works the same way. Since the GPU uses many processor cores to run low-level tasks, like rendering a texture on a polygon, having more GPU RAM lets you keep those textures available for use without having to constantly discard it. 12 GB of VRAM is like having a 12GB SSD for storing rendered graphics specific to your application. This is why high-end games need high-end GPUs. The HD and 4K textures take up a lot of space and the SSD is too slow to swap back and forth from.
Unfortunately, adding more Cores, whether to the GPU or CPU, may not actually improve app performance. Each application has a main thread that utilizes 1 core. The main thread is responsible for anything you interact with on the screen. When you click a button on an app, you are calling the main thread. When you scroll a website, you are calling the main thread to display the HTML.
Background threads utilize additional available CPU cores to process tasks that aren't related to the main thread. The background threads do things like save images, download files, and check for new or available data. A programmer has to manually utilize additional cores when writing their applications.
Popular macOS apps are optimized for multiple core usage, which is why Safari may run faster or smoother than Firefox. But multiple cores have their limits, since not everything can be run in the background. You'll end up with an issue called race conditions, where the background and main thread compete for who should run first. It causes the app to crash.
So, if you purchase a 2018 high-end Macbook Pro, and you max the ram, max the CPU, get the largest SSD, and select the best GPU, the next step in performance is a faster CPU. Since we’re a while away from 7 GHz chips, the existing technology for the other components hasn’t fully been realized by application developers.
In short, the modular upgrades would only apply to the RAM and your SSD, but those are purely based on size at purchase, not speed increases in the near future. If you max out the RAM and SSD, there isn’t a need for modular components. It’s only necessary if you buy the 8GB RAM and 256GB SSDs.