While working on the DevTools profiler, I've noticed that durations are sometimes incorrect. This seems to be vaguely related to high/low priority state updates. Need to track this down more so I'm filing an issue for myself.
const [innerCall, outerCall] = callback.mock.calls;
        
        
        expect(innerCall[0]).toBe('inner');
        expect(innerCall[2]).toBe(17); 
        expect(innerCall[3]).toBe(17); 
        expect(innerCall[4]).toBe(70); 
        expect(innerCall[5]).toBe(87); 
        expect(outerCall[0]).toBe('outer');
        expect(outerCall[2]).toBe(32); 
        expect(outerCall[3]).toBe(32); 
        expect(outerCall[4]).toBe(5); 
        expect(outerCall[5]).toBe(87); 
      });
      it('should report the expected times when a high-priority update replaces an in-progress initial render', () => {
        const callback = jest.fn();
        const Yield = ({renderTime}) => {
          advanceTimeBy(renderTime);
          ReactTestRenderer.unstable_yield('Yield:' + renderTime);
          return null;
        };
        advanceTimeBy(5); 
        
        
        const renderer = ReactTestRenderer.create(
          <React.unstable_Profiler id="test" onRender={callback}>
            <Yield renderTime={10} />
            <Yield renderTime={20} />
          </React.unstable_Profiler>,
          {unstable_isAsync: true},