The shouldComponentUpdate() life cycle method enables macro-optimization of your component performance. If there's clearly no need to re-render the element, then let's sidestep the reconciliation process entirely. Other times, reconciliation simply cannot be avoided—the element state is changing frequently, and these changes need to be reflected in the DOM for the user to see.
The development version of React 16 has some handy performance tooling built into it. It calls the relevant browser dev tool APIs in order to record relevant metrics while a profile is being recorded. Note that this isn't related to the React Developer Tools browser extension that you installed earlier; this is simply React interacting ...