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 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={6} />
            <Yield renderTime={15} />
          </React.unstable_Profiler>,
          {unstable_isAsync: true},
        );
        
        
        expect(renderer).toFlushAll(['Yield:6', 'Yield:15']);
        expect(callback).toHaveBeenCalledTimes(1);
        let call = callback.mock.calls[0];
        expect(call[2]).toBe(21); 
        expect(call[3]).toBe(21); 
        expect(call[4]).toBe(5); 
        expect(call[5]).toBe(26); 
        callback.mockReset();
        advanceTimeBy(30); 
        
        
        renderer.update(
          <React.unstable_Profiler id="test" onRender={callback}>
            <Yield renderTime={3} />
            <Yield renderTime={5} />