Sunday, March 19, 2017

Optimizing your Macbook Pro 15 2016 for development - minimize touchbar interference

This review is for the Late 2016 Macbook Pro 15 inch with the upgraded 2.9GHz i7-6920HQ, the 1TB SSD and the ATI Radeon Pro 460 4Gb and the touchbar.

Sometimes I get asked why I just don't use a high end Lenovo (with a Xeon and 64G ram).  The issue is I also need iOS development via XCode.  So for now I need to put up with 16G ram until 32G comes out.

Most hard core users of the macbook pro will benefit from the workarounds below - especially working around the new touchbar - by mostly disabling it.

After working with the laptop for home and office development - I can say that it is a better machine than the previous generation.  The improvements outweigh the discrepancies at a bit higher price.

The HD is really fast - faster than either my raid0 4 drive Samsung 850 pro or my Intel 750.  The screen is brighter, the CPU is 23% faster under full load (12% because of clock speed), the GPU is twice as fast.

The keys are louder and bit clunky, but the biggest issue is the touchbar - it must be disabled!.
As soon as you start using the machine in its default config - your finger will slide off the delete key - where it will start siri (all the time).  The fix for the touchbar is to remove all the icons by default and only enable the function keys for specific applications.  The rest of the time only the escape key shows.  When the mac touchbar is disabled like this then when your fingers - just touch above the number keys - you wont invoke the touchbar.


0 - The F4 key rarely works - this is a Safari issue though

1 - Globally disable the touchbar except for the escape key for all non-development apps

2 - Enable the function keys for development apps like Eclipse and IntelliJ

Macbook 2016 Improvements

The 2016 i7-6920HZ CPU runs 23% faster than the my late 2013 i7-4960 (12% of this is due to a clock speed jump from 2.6 to 2.9 GHz)
The GPU is faster - although this is hard to measure because I went from an NVidia 750GT to an ATI 460

Macbook 2016 Issues

The keyboard is lower quality than the 2015 model
The GPU is ATI instead of NVidia - which locks us out of must CUDA based libraries like TensorFlow leaving us with OpenCL
The touchbar causes multiple issues - the biggest one is launching siri or changing sound/screen inadvertently by accidentally touching the bar above the number row.

Minimize Macbook Pro 2016 Touchbar effects

The first thing you will notice when using the 2016 macbook will be how the touchbar causes issues north of the delete key when your fingers slide off the northbound part of the key.
The goal is to disable the touchbar for most apps leaving just the escape key.

For development apps that require function keys like the F3/F4 (navigation)and F5/F6/F7/F8 (debug) functions in Eclipse - enable just the function key view.

Here in eclipse we frequently need F3 to load a class and F4 to get the inheritance heirarchy

During a debug session we use F5 to enter, F6 to run, F7 to skip and F8 to resume

CPU and GPU performance

On average GPU speed for the 2016 macbook pro (top model) is 12x the cpu speed (all 4 cores)
Surprisingly the embedded GPU in the CPU runs slower than the embedded Iris GPU in my old 2013 macbook pro.


Single Core CPU = 13
Multicore 4 CPU = 50
Embedded HD 530 GPU = 128
ATI HD 460 GPU = 505



I'll get into theUSB-C connectors shortly


Get the Thule case for your Macbook Pro 15


The new keyboard is louder - try to type quieter in an office setting

Total Pageviews