Skip to content

Add a simple benchmark for Navigator.handlePage#926

Merged
mlolson merged 1 commit into
redfin:masterfrom
gigabo:bench
Jul 6, 2017
Merged

Add a simple benchmark for Navigator.handlePage#926
mlolson merged 1 commit into
redfin:masterfrom
gigabo:bench

Conversation

@gigabo

@gigabo gigabo commented Apr 11, 2017

Copy link
Copy Markdown
Contributor

I'm going to do some hacking around in here and I want to make sure I don't
hork performance. Don't have a harness for this or anything yet. Mostly just
pushing it up so I don't lose track of it.

I'm going to do some hacking around in here and I want to make sure I don't
hork performance.  Don't have a harness for this or anything yet.  Mostly just
pushing it up so I don't lose track of it.
gigabo added a commit to gigabo/react-server that referenced this pull request Apr 11, 2017
This takes some work that used to happen for each request and caches it.

This is mostly groundwork for fine-grained instrumentation of page lifecycle
methods.  It incidentally also slightly reduces the overhead of building up
the page chain object during each request.

[core/__bench__/handlePage.js](redfin#926) before:
```
1       0.000481308279135711
10      0.0009405891195623999
100     0.005067864883424908
1000    0.04754033069230767
```

[core/__bench__/handlePage.js](redfin#926) after:
```
1       0.0004272630582241284
10      0.0006927164659505115
100     0.0034683026867557273
1000    0.031324801985714294
```

Basically reduces middleware overhead to from ~50µs to ~30µs.  Not a huge
deal, but the instrumentation is likely to add a little overhead, so it's nice
to pay some of that down ahead of time. 😁
gigabo added a commit to gigabo/react-server that referenced this pull request Apr 11, 2017
This takes some work that used to happen for each request and caches it.

This is mostly groundwork for fine-grained instrumentation of page lifecycle
methods.  It incidentally also slightly reduces the overhead of building up
the page chain object during each request.

[core/__bench__/handlePage.js](redfin#926) before:
```
1       0.000481308279135711
10      0.0009405891195623999
100     0.005067864883424908
1000    0.04754033069230767
```

[core/__bench__/handlePage.js](redfin#926) after:
```
1       0.0004272630582241284
10      0.0006927164659505115
100     0.0034683026867557273
1000    0.031324801985714294
```

Basically reduces middleware overhead to from ~50µs to ~30µs.  Not a huge
deal, but the instrumentation is likely to add a little overhead, so it's nice
to pay some of that down ahead of time. 😁
gigabo added a commit to gigabo/react-server that referenced this pull request Jun 20, 2017
This takes some work that used to happen for each request and caches it.

This is mostly groundwork for fine-grained instrumentation of page lifecycle
methods.  It incidentally also slightly reduces the overhead of building up
the page chain object during each request.

[core/__bench__/handlePage.js](redfin#926) before:
```
1       0.000481308279135711
10      0.0009405891195623999
100     0.005067864883424908
1000    0.04754033069230767
```

[core/__bench__/handlePage.js](redfin#926) after:
```
1       0.0004272630582241284
10      0.0006927164659505115
100     0.0034683026867557273
1000    0.031324801985714294
```

Basically reduces middleware overhead to from ~50µs to ~30µs.  Not a huge
deal, but the instrumentation is likely to add a little overhead, so it's nice
to pay some of that down ahead of time. 😁
@mlolson mlolson merged commit 0f7708b into redfin:master Jul 6, 2017
emecell pushed a commit to emecell/react-server that referenced this pull request Jan 17, 2018
This takes some work that used to happen for each request and caches it.

This is mostly groundwork for fine-grained instrumentation of page lifecycle
methods.  It incidentally also slightly reduces the overhead of building up
the page chain object during each request.

[core/__bench__/handlePage.js](redfin#926) before:
```
1       0.000481308279135711
10      0.0009405891195623999
100     0.005067864883424908
1000    0.04754033069230767
```

[core/__bench__/handlePage.js](redfin#926) after:
```
1       0.0004272630582241284
10      0.0006927164659505115
100     0.0034683026867557273
1000    0.031324801985714294
```

Basically reduces middleware overhead to from ~50µs to ~30µs.  Not a huge
deal, but the instrumentation is likely to add a little overhead, so it's nice
to pay some of that down ahead of time. 😁
gigabo added a commit to gigabo/react-server that referenced this pull request Jan 17, 2018
This takes some work that used to happen for each request and caches it.

This is mostly groundwork for fine-grained instrumentation of page lifecycle
methods.  It incidentally also slightly reduces the overhead of building up
the page chain object during each request.

[core/__bench__/handlePage.js](redfin#926) before:
```
1       0.000481308279135711
10      0.0009405891195623999
100     0.005067864883424908
1000    0.04754033069230767
```

[core/__bench__/handlePage.js](redfin#926) after:
```
1       0.0004272630582241284
10      0.0006927164659505115
100     0.0034683026867557273
1000    0.031324801985714294
```

Basically reduces middleware overhead to from ~50µs to ~30µs.  Not a huge
deal, but the instrumentation is likely to add a little overhead, so it's nice
to pay some of that down ahead of time. 😁
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants