Simon Zünd 10fa3cbf07 [formatter] Extract node.type into it's own variable in a hot function
Accessing 'type' of ESTree AST nodes is megamorphic. Doing this
repeatedly in an if-cascade in a hot loop is very costly.

This CL reduces the time it takes to parse and format two large
bundles (3.8MB and 11MB) from:

```
Formatting ./blitz.7dbe22a9.js (median): 1510.70 ms
Formatting ./workbench.web.main.js (median): 5784.81 ms
```

to

```
Formatting ./blitz.7dbe22a9.js (median): 1365.15 ms
Formatting ./workbench.web.main.js (median): 5023.51 ms
```

R=bmeurer@chromium.org

Bug: 333945853
Change-Id: If6b0ff55bc0f5ea2f1f1b7b1fc4523fbcd835952
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5463982
Commit-Queue: Simon Zünd <szuend@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
2024-04-18 10:41:51 +00:00
2022-05-30 08:50:17 +00:00
2024-04-18 03:37:56 +00:00
2024-04-18 08:19:16 +00:00
2024-01-22 16:06:21 +00:00
2023-11-17 06:18:48 +00:00
2021-04-16 07:38:35 +00:00
2020-08-21 05:51:47 +00:00
2024-04-17 07:32:39 +00:00
2024-04-18 03:45:32 +00:00
2024-04-18 08:19:16 +00:00
2024-04-17 12:53:02 +00:00
2024-04-17 12:53:02 +00:00
2023-10-12 12:15:09 +00:00
2024-03-04 08:12:37 +00:00

Chrome DevTools frontend

npm package

The client-side of the Chrome DevTools, including all TypeScript & CSS to run the DevTools webapp.

Source code and documentation

The frontend is available on chromium.googlesource.com. Check out the project documentation for instructions to set up, use, and maintain a DevTools front-end checkout, as well as design guidelines, and architectural documentation.

Additional references

Source mirrors

DevTools frontend repository is mirrored on GitHub.

DevTools frontend is also available on NPM as the chrome-devtools-frontend package. It's not currently available via CJS or ES modules, so consuming this package in other tools may require some effort.

The version number of the npm package (e.g. 1.0.373466) refers to the Chromium commit position of latest frontend git commit. It's incremented with every Chromium commit, however the package is updated roughly daily.

Getting in touch

S
Description
No description provided
Readme BSD-3-Clause
1.1 GiB
Languages
TypeScript 88.2%
JavaScript 5.7%
CSS 3%
HTML 1.4%
Python 0.8%
Other 0.8%