Issue 1:
I have an app with a framework very similar to Om where I always render from the top component.

There is no Flux store with components listening to a single Flux store event, just a single global json state managed outside of React.

I ask this question as a follow-up to this issue, as I just noticed that React.render takes a callback: #1931

My former Perf code looked like this:

// 1st render
React.addons.Perf.start();
React.render(<App state=globalState/>, document.body);
React.addons.Perf.stop();
React.addons.Perf.printWasted();

// 2nd render
React.addons.Perf.start();
React.render(<App state=globalState/>, document.body);
React.addons.Perf.stop();
React.addons.Perf.printWasted();

// ... next renders

So as Render takes a callback it seems to make sens to use it instead of considering React.render synchronous.

// 1st render
React.addons.Perf.start();
React.render(<App state=globalState/>, document.body),function() {
React.addons.Perf.stop();
React.addons.Perf.printWasted();
});

// 2nd render
React.addons.Perf.start();
React.render(<App state=globalState/>, document.body),function() {
React.addons.Perf.stop();
React.addons.Perf.printWasted();
});

// ... next renders

The question that directly comes to mind is what would be the behavior if the 2nd rendering is triggered before the 1st rendering callback has been called?

In an ideal world we would have start / stop / printWasted / start / stop / printWasted but it seem to me that we could also have start / start / stop / printWasted / stop / printWasted which could lead to bad or duplicated mesures, or even worse a failure if Perf does not allow to be started twice for example...

I think my usecase is pretty common for those using React in a really pure way, and it would be nice to explain and document how this can be achieved without expecting weird side effects

Issue 2:
React version: 17.0.1

Steps To Reproduce

Use latest react and check chrome console

Issue

[Deprecation] SharedArrayBuffer will require cross-origin isolation as of M91, around May 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.

scheduler.development.js:298 [Deprecation] SharedArrayBuffer will require cross-origin isolation as of M91, around May 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details.
(anonymous) @ scheduler.development.js:298
./node_modules/scheduler/cjs/scheduler.development.js @ scheduler.development.js:843
__webpack_require__ @ bootstrap:24
fn @ hot module replacement:61
./node_modules/scheduler/index.js @ index.js:6
__webpack_require__ @ bootstrap:24
fn @ hot module replacement:61
(anonymous) @ react-dom.development.js:18
./node_modules/react-dom/cjs/react-dom.development.js @ react-dom.development.js:26261
__webpack_require__ @ bootstrap:24
fn @ hot module replacement:61
./node_modules/react-dom/index.js @ index.js:37
__webpack_require__ @ bootstrap:24
fn @ hot module replacement:61
./src/app.jsx @ main.f06688de3ff4e6385b93.js:12
__webpack_require__ @ bootstrap:24
__webpack_exec__ @ main.f06688de3ff4e6385b93.js:1490
(anonymous) @ main.f06688de3ff4e6385b93.js:1491
__webpack_require__.O @ chunk loaded:25
(anonymous) @ main.f06688de3ff4e6385b93.js:1492
webpackJsonpCallback @ jsonp chunk loading:522
(anonymous) @ main.f06688de3ff4e6385b93.js:1
log.js:24 [HMR] Waiting for update signal from WDS...