[core] Profiling config
I've setup a local folder to enable low-level profiling of our code (when it's possible to run a pure JS version with no DOM) with d8, the v8 debug shell. It requires a few very minor code changes, as well as a mock version of react (just enough so we can setup our hooks in test cases).
I'm not sure if we want to commit these changes, but I thought I'd share these as the setup is not super trivial. If you want to use it, you can always fetch the branch locally and cherry-pick the commit when you want to profile some change you made.
See profiling/src/filtering.ts for an example how to create a test case, and profiling/README.md for usage.
| Flamecharts | Bottom-up |
|---|---|
Netlify deploy preview
Netlify deploy preview: https://deploy-preview-9155--material-ui-x.netlify.app/
Updated pages
No updates.
These are the results for the performance tests:
| Test case | Unit | Min | Max | Median | Mean | σ |
|---|---|---|---|---|---|---|
| Filter 100k rows | ms | 657.9 | 1,412.7 | 1,412.7 | 1,052.22 | 291.298 |
| Sort 100k rows | ms | 752.7 | 1,273.7 | 1,273.7 | 1,058.58 | 202.778 |
| Select 100k rows | ms | 321.5 | 433 | 366.6 | 371.44 | 35.66 |
| Deselect 100k rows | ms | 232.8 | 404.8 | 298.5 | 307.9 | 55.746 |
Generated by :no_entry_sign: dangerJS against 1a98215c4bbd4266279b1a2754b4f5786c9f6ec8
This pull request has conflicts, please resolve those before we can evaluate the pull request.