[This example](https://codesandbox.io/s/1zn2o513pq) presents a huge performance drop between React 16.2 and React 16.3.

In investigated it and noticed several things:

- Perfomance drop is only visible using development bundle
- This is not related to styled-components (a simple div presents the same problem)
- I tried to investigate in performance tab of Chrome dev tools and I noticed that I get React measures even without "?react_perf"
- React Tree Reconciliation seems very long, do not know why

It is not a big problem for me, but it looks weird, so I decided to [share it on Twitter](https://twitter.com/neoziro/status/979756579296817154),  then @gaearon [invited me to submit an issue about it](https://twitter.com/dan_abramov/status/980036013518139398).


let unhandledError: mixed | null = null;
  let deadline: Deadline | null = null;
  let isBatchingUpdates: boolean = false;
  let isUnbatchingUpdates: boolean = false;
  let isBatchingInteractiveUpdates: boolean = false;
  let completedBatches: Array<Batch> | null = null;
  // Use these to prevent an infinite loop of nested updates
  const NESTED_UPDATE_LIMIT = 1000;
  let nestedUpdateCount: number = 0;
  const timeHeuristicForUnitOfWork = 1;
  function scheduleCallbackWithExpiration(expirationTime) {
    if (callbackExpirationTime !== NoWork) {
      
      if (expirationTime > callbackExpirationTime) {
        
        return;
      } else {
        
        
        cancelDeferredCallback(callbackID);
      }
      // The request callback timer is already running. Don't start a new one.
    } else {
      startRequestCallbackTimer();
    }
    // Compute a timeout for the given expiration time.
    const currentMs = now() - originalStartTimeMs;
    const expirationMs = expirationTimeToMs(expirationTime);
    const timeout = expirationMs - currentMs;
    callbackExpirationTime = expirationTime;