Putting the 16-inch MacBook Pro's thermal management to the test
Apple updated the thermal management of the 16-inch MacBook Pro. We put it to the test to see just how much it has improved over its predecessors.

Cinebench R20 on the 16-inch MacBook Pro
After Apple's thermal throttling issue a bit ago, the topic has been on would-be purchaser's minds so we found it fit to put the machine to the test and see if Apple has squashed those thermal fears.
Before discussing the thermal tests, it's worth discussing benchmarks We already benchmarked the base unit in our initial 16-inch MacBook Pro review so the same has to be done for a 16-inch MacBook Pro configuration maxed out with a 2.4GHz 8-core i9 CPU with 5500M Graphics and 8GB of GDDR6 RAM.
Unigine Heaven benchmark results on the 16-inch MacBook Pro
With our Radeon Pro 5500M graphics, we powered up the Unigine Heaven benchmark once more. This time around, we scored an 88.1 average FPS with a total score of 2218. It hit a maximum of 172.3 frames per second.
That outpaces the standard 5300M graphics with 4GB of VRAM which earned an average of 86.6 frames per second and a 2182 score. It maxed out at an impressive 162.1 frames per second.
For massive projects that include piles of instruments in Logic, many effects in Final Cut, or countless layers in Photoshop that 8GB of GDDR6 VRAM will come in handy even further for smooth work.
In Geekbench 5, The CPU test pulled 1,160 single-core and 7,243 multi-core scores. Our base unit only got an 1,128 and a 5,642. Huge multi-core gains here.

Geekbench 5 Compute Metal benchmark results
Using the Compute Geekbench 5 test with Metal, the AMD graphics earned a 24,300. Up from the 21,757 on the base and more than 1,000 higher than the previous generation base score of 13,919.
Simultaneously, we utilized Intel Power Gadget to monitor the clock speed and the frequency of the chipset.
In theory we should see the processor quickly jump up to a turbo-boosted speed before subsiding back down to an equilibrium speed, balancing speed and the thermal condition. If there are thermal throttling issues within the 16-inch MacBook Pro then we would see the temperature remain high and the speed dip below the advertised 2.4GHz frequency.

Thermal testing with Cinebench R20 and Intel Power Gadget
While running Cinebench, our fans initially started to kick in as the temperature hit 90-degrees, though we didn't full notice them until the temp hit 96-degrees, which is right around where the processor hovered while under strenuous load.
During the testing, we continued to put pressure on the processor to watch the CPU frequency and even as we ran the test back to back to back, our CPU continued to run at 3.19GHz which is above Apple's promised 2.4GHz speed.
We ran this same test on the same CPU earlier this year with the previous MacBook Pro design. During that test, the 2.4GHz processor clocked in regularly at 2.9GHz. With the new machine averaging 3.19, it seems Apple's new thermal design has really paid off.
Here's a roundup of the best deals at press time. To view the latest coupon offers and instant rebates, check out the AppleInsider 16-inch MacBook Pro Price Guide.
Adorama (final prices for most)

Cinebench R20 on the 16-inch MacBook Pro
After Apple's thermal throttling issue a bit ago, the topic has been on would-be purchaser's minds so we found it fit to put the machine to the test and see if Apple has squashed those thermal fears.
Before discussing the thermal tests, it's worth discussing benchmarks We already benchmarked the base unit in our initial 16-inch MacBook Pro review so the same has to be done for a 16-inch MacBook Pro configuration maxed out with a 2.4GHz 8-core i9 CPU with 5500M Graphics and 8GB of GDDR6 RAM.
Performance

Unigine Heaven benchmark results on the 16-inch MacBook Pro
With our Radeon Pro 5500M graphics, we powered up the Unigine Heaven benchmark once more. This time around, we scored an 88.1 average FPS with a total score of 2218. It hit a maximum of 172.3 frames per second.
That outpaces the standard 5300M graphics with 4GB of VRAM which earned an average of 86.6 frames per second and a 2182 score. It maxed out at an impressive 162.1 frames per second.
For massive projects that include piles of instruments in Logic, many effects in Final Cut, or countless layers in Photoshop that 8GB of GDDR6 VRAM will come in handy even further for smooth work.
In Geekbench 5, The CPU test pulled 1,160 single-core and 7,243 multi-core scores. Our base unit only got an 1,128 and a 5,642. Huge multi-core gains here.

Geekbench 5 Compute Metal benchmark results
Using the Compute Geekbench 5 test with Metal, the AMD graphics earned a 24,300. Up from the 21,757 on the base and more than 1,000 higher than the previous generation base score of 13,919.
What is thermal design point?
Before we get to testing, it is important to understand what it is we are testing and looking for. Here is what we said last time we performed these tests earlier this year:The Thermal Design Point (TDP) is defined by Intel as the "average power the processor dissipates when operating at base frequency with all cores active under a high-complexity workload." That is a long way of saying it advises how hot a processor can get when running at its rated speed. It is also a measure of what, at a bare minimum, any given manufacturer has to, at a minimum, implement for a cooling system.
When a processor is cool, it is capable of exceeding its standard clock speed to the Turbo Boost speeds Apple and Intel advertise. This, of course, generates more heat above and beyond the TDP, and causes it to slow down back to an equilibrium state where it is generating as much heat as the chassis can dissipate.
If the heat is too great, the chip will drop below the normal operating speed -- the speed Apple advertises for the machines -- in order to prevent damage and cool down further. This is what you should think of when they think of thermal throttling and not the dip below the so-called "turbo" speeds, which every computer with a turbo speed has always had to do.
So, today's test is to see what that equilibrium speed under load is, and if the machine dips under the rated speed.
Procedure
For our test, we powered up Cinebench R20 and ran this comprehensive benchmark ten times, back to back. As soon as one test would end we would begin it again forcing the processor to constantly be under heavy load and pushing its thermal performance.Simultaneously, we utilized Intel Power Gadget to monitor the clock speed and the frequency of the chipset.
In theory we should see the processor quickly jump up to a turbo-boosted speed before subsiding back down to an equilibrium speed, balancing speed and the thermal condition. If there are thermal throttling issues within the 16-inch MacBook Pro then we would see the temperature remain high and the speed dip below the advertised 2.4GHz frequency.
Results
In Cinebench R20, scores jumped from 2623 on the entry-level 2.6GHz 6-core 9th-generation Intel Core i7 processor to 3445 on our 2.4GHz 8-core 9th-generation Intel Core i9 machine.
Thermal testing with Cinebench R20 and Intel Power Gadget
While running Cinebench, our fans initially started to kick in as the temperature hit 90-degrees, though we didn't full notice them until the temp hit 96-degrees, which is right around where the processor hovered while under strenuous load.
During the testing, we continued to put pressure on the processor to watch the CPU frequency and even as we ran the test back to back to back, our CPU continued to run at 3.19GHz which is above Apple's promised 2.4GHz speed.
We ran this same test on the same CPU earlier this year with the previous MacBook Pro design. During that test, the 2.4GHz processor clocked in regularly at 2.9GHz. With the new machine averaging 3.19, it seems Apple's new thermal design has really paid off.
Deals on the 16-inch MacBook Pro
Many 16-inch MacBook Pro configurations are already on sale, with 2.4GHz Core i9 models equipped with 5500M 8GB graphics up to $438 off.Here's a roundup of the best deals at press time. To view the latest coupon offers and instant rebates, check out the AppleInsider 16-inch MacBook Pro Price Guide.
Adorama (final prices for most)
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5300M) Gray: $2,199* ($200 off)
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5300M) Silver: $2,199* ($200 off)
- 16-inch MacBook Pro 8C (2.3GHz, 16GB, 1TB, 5500M 4GB) Gray: $2,549* ($250 off)
- 16-inch MacBook Pro 8C (2.3GHz, 16GB, 1TB, 5500M 4GB) Silver: $2,549* ($250 off)
*Price with coupon code APINSIDER using the special pricing links above or in our 16-inch MacBook Pro Price Guide. Prices above are the final, total prices for most shoppers. Plus, save $30 on AppleCare at time of purchase. [Need help?]
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5300M) Gray: $2,299.99 ($100 off)
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5300M) Silver: $2,279 ($120 off)
- 16-inch MacBook Pro 8C (2.3GHz, 16GB, 1TB, 5500M 4GB) Gray: $2,699.99 ($100 off)
- 16-inch MacBook Pro 8C (2.3GHz, 16GB, 1TB, 5500M 4GB) Silver: $2,679 ($120 off)
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5300M) Gray: $2,299 ($100 off)
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5300M) Silver: $2,299 ($100 off)
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5500M 8GB): $2,500 ($100 off)
- 16-inch MacBook Pro 8C (2.3GHz, 16GB, 1TB, 5500M 4GB) Gray: $2,699 ($100 off)
- 16-inch MacBook Pro 8C (2.3GHz, 16GB, 1TB, 5500M 4GB) Silver: $2,699 ($100 off)
- 16-inch MacBook Pro 8C (2.4GHz, 16GB, 512GB, 5500M 8GB): $2,800 ($100 off)
- 16-inch MacBook Pro 8C (2.4GHz, 32GB, 512GB, 5500M 8GB): $3,200 ($100 off)
- 16-inch MacBook Pro 8C (2.4GHz, 64GB, 512GB, 5500M 8GB): $3,600 ($100 off)
- 16-inch MacBook Pro 6C (2.6GHz, 16GB, 512GB, 5300M): $2,226.66* ($173 off)
- 16-inch MacBook Pro 8C (2.3GHz, 16GB, 1TB, 5500M 4GB): $2,597.94* ($201 off)
- 16-inch MacBook Pro 8C (2.4GHz, 32GB, 1TB, 5500M 8GB): $3,247.68* ($232 off)
- 16-inch MacBook Pro 8C (2.4GHz, 64GB, 2TB, 5500M 8GB): $3,990.24* ($310 off)
- 16-inch MacBook Pro 8C (2.4GHz, 64GB, 8TB, 5500M 8GB): $5,661* ($438 off)
*Price with coupon code appleinsider. Plus, save $50 on AppleCare at time of purchase.
- 16-inch MacBook Pro 8C (2.3GHz, 32GB, 2TB, 5500M 4GB) Gray: $3,529.99 ($70 off)
Comments
Will be certainly interesting as AMD will launch Ryzen Mobile 4th gen very soon and AMD currently has a big lead on power consumption with their newest technology.
I really hope they choose to move fully into mobile as well and make an 8-core SKU. I guess they chose their battle on server though as TSMC struggles to satisfy demand and those mobile chips have no other fab to be produced in since Samsung won't be there fast enough. Pairing AMD mobile with their Navi architecture (which has been shown to offer very good future outlooks) could mean even higher performance in the same power envelope.
Sorry, random pattern memory access _never_ happens except if you have hash tables, Directed Acyclic Graphs or something but you are not using a CPU for that kind of problem, you are using GPUs or, if you have a very special application, Content Addressable Memory (or CAM for short, which is almost never used except for core network routers where you have some billion packets per second to be switched).
You write random memory access _never_ happens and then proceed to describe instances where it can. (Congratulations!) People don't always use GPUs for the techniques you describe either.
As stated previously, the throttling does not occur on a lowly Mac mini.
Please kindly educate yourself about the topic you write about.
Besides having been a software developer for decades, for several years I've done developer support, and your claim about random memory access not happening except in the conditions you listed is a bunch of BS. If for nothing else, Address Space Layout Randomization causes allocations to be... quite random by design, and this is done in allocating heaps and sub-allocations as well, and then you regularly have applications do lots of allocations interspersed with freeing memory, then doing more allocations, etc. causing fragmentation, and a lot of structures that have pointers linking to other things, that are followed when looking for things in memory. Most applications don't only allocate and use data in linear arrays, but tend to use memory much more flexibly, even without using hash tables or DAGs. Even a lot of software that is written with arrays as the abstraction isn't exactly linear in memory throughout the array due to underlying implementation, and linked lists are notorious for resulting in random memory access patterns (insofar as the pages accessed, which may remain the same for a given linked list for awhile are not allocated in sequential memory more often than not) even if a lot of the allocations started out with chunks of list elements being in short arrays to start with.
Another big cause of random memory access patterns, even if you store your objects in fixed arrays happens with object-oriented data structures and code: unless you only ever put objects of a single class (not all sharing the same base class, but precisely one class) those objects often have memory layouts that differ in size and layout, and often contain objects that also point to other objects, recursively, of many class types, so just the memory layout of the data alone (and quite often in the resulting object graph, it will NOT be a DAG) results in random memory access patterns while processing what appears to be a linear array of objects. Once you have more than one particular type of class instance in an array, unless they're all sorted by type, you'll call virtual methods on the subclasses (or protocols/interfaces, depending on language) which means you're loading even more code into the CPU cache, worst-case scenario if the cache is very full and busy, on each object in the array being processed. This is more common than your stated assumptions take into account: why do you think hyperthreading has so much hardware thrown at it? It's not just for program data, it's also for program code, to keep the CPU fed as much as possible, but short of all data being shared in nice linear layout in RAM, the CPU is evicting cache lines in LRU order (unless special instructions direct otherwise) and refilling them from random spots in RAM address space. Mind you, that's just logical address space: that doesn't even address the fact that logical address space often results in one logical page being nowhere near another logical page when seen in the physical address space, and you really really don't want to consider what happens when your process calls into the OS and drivers, which they must do every so often, or your process isn't worth much in practice.
While modern CPUs are waiting for main memory, even with hyperthreading, the core is left waiting a fair amount of the time, and the more cores you have, and the relatively less fast cache you have, the more that increases in severity: why do you think NUMA (Non-Unified Memory Architecture) machines exist? They exist because it's all too easy to saturate the memory bus and also die from CPU cache coherency overheads beyond a certain point. When CPU cores are waiting on memory, the memory interface logic is using full power, but the core will be power-gated and down-clocked, so it isn't using max power. If systems actually had main RAM that was fast enough, with no latency (and reading/writing main RAM on modern CPUs is done a whole cache line at a time, which is typically 32 bytes or more in some power of 2 in size) they'd scale linearly in performance with CPU clock speed, but that isn't what we have: we have CPUs that are extremely rarely running at peak efficiency, and that's almost always on artificial benchmarks, so those CPUs are being randomized in memory access most of the time, and are left running at lower core speeds/temperatures because they're twiddling their thumbs waiting for main memory.
Most all thin laptops have a thermal problem, not just Apple’s.
https://www.apple.com/macbook-pro-16/
28% increase in airflow and they used the increased airflow to deliver 12 watts more maximum sustained power. More power = more heat and more airflow means more heat output.
Every time Apple brings out a new laptop, people complain that its GPUs aren't as fast as they could be compared to PC gaming laptops that use close to desktop GPUs. Those do the same thing but to a more extreme level, they bump up the sustained power and increase the airflow so you get something that runs hot and in those cases sounds like a hairdryer.
It's nice to have the extra power but sometimes it's better to have a cool laptop and just let processes take a bit longer. It would be good if Apple could add a mode to throttle processes (CPU and GPU) to allow the system to run cooler, just a slider in energy saver prefs like "run cooler ... run faster" and the cool option would try to keep the temperature close to idle temperature while running at maybe 50% maximum sustained power. There's a built-in unix command to do this and there's a script here:
http://hints.macworld.com/article.php?story=20110131001708255
If for example you want to run an encoding or rendering for a couple of hours and don't want to stress the machine and fans, that script will repeatedly sleep a given process for a short time so the CPU doesn't get too hot. There's another here:
http://www.willnolan.com/cputhrottle/cputhrottle.html
Ideally this kind of app/script would just run in the background and monitor the top user processes and throttle them to a specified limit rather than having to select them manually but it would probably have to use small time slices to avoid instability.
https://www.notebookcheck.net/Throttling-in-the-2018-Core-i9-Apple-MacBook-Pro-traced-to-improperly-set-VRM-power-limits.318176.0.html
The 2019 model doesn't suffer from throttling so isn't suffering from the same issue. They seem to have just increased the power that the laptop can sustain, which would mean it produces more heat. It can handle that higher limit ok.
The Volta app here was used to test the original throttling issue:
https://volta.garymathews.com
The undervolting feature there doesn't work on new models and shouldn't be used but it also has a power limit slider to cap the maximum power the system is allowed. This can be used to run the machine cooler. That would be a great option to have built into the system. Someone tested that on a 2018 model:
https://forums.macrumors.com/threads/volta-with-mid-2018-mbp.2134756/
Normally the power draw is around 45W (for CPU and GPU each) and Apple supplies an 85W/87W charger. The 2016 model has a 96W charger.
If the macOS energy saver had that kind of maximum power draw option, a 16" Macbook Pro could perform like a Macbook Air on battery. This would make a huge difference for mobile software development because a lot of the time apps are indexing files in the background and using a lot of CPU unnecessarily. They could even do it a smart way so that burst power draw is higher than sustained so it mostly caps intensive processes. They can just put an icon in the menu bar showing that the system is being throttled.
I made a Python script to do this on a per-app basis (attached) based on the one posted earlier. It can be run manually using "python script process_name max_CPU" or it can be setup as an easily run process using the bash profile:
https://pastebin.com/7vStyc1S
open terminal and type open ~/.bash_profile
add the following line, changing the path to the script and save the file, then open a new terminal window:
alias throttle='python /path/to/throttleCPU.py $1 $2'
If a process like a render or video encoding is using a lot of CPU power, open a terminal window and type something like throttle handbrake 25 and it will look for that process and only allow it use 25% of the CPU. Hitting ctrl-c or closing the terminal window will let the process run at full speed. Processes take longer to finish when throttled but it means no fan noise when something is happening in the background.
Then again, Boot Camp sucks a ton more power, it still does today.
There are similar thing caught on my eyes about the Mac Pro, where a 12-core runs hotter than the 28-core one:
28-core
12-core
Turns out they're not using the same die, the 12-core isn't a watered-down version of it. Interestingly enough, the 12-core is running at ~160W where the 28-core hit ~200W.
In that video, it was caused by Flash. Someone in the comments on that video said they experienced it when their display color profile was set to sRGB. It could potentially be caused by automatic graphics switching.
To remove old Flash plugins, they are in /Library/Internet Plug-Ins. Color profiles are in System Prefs > Displays > Color. Automatic Graphics Switching is in System Prefs > Energy Saver. You can also try rebuilding your driver caches by rebooting into safe mode holding shift at startup and then rebooting.