summaryrefslogtreecommitdiff
path: root/tools/bench/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bench/README.md')
-rw-r--r--tools/bench/README.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/bench/README.md b/tools/bench/README.md
new file mode 100644
index 000000000..78529d106
--- /dev/null
+++ b/tools/bench/README.md
@@ -0,0 +1,33 @@
+## Re-bootstrapping
+
+Re-bootstrapping allows deno devs to bench/profile/test JS-side changes without
+doing a full `cargo build --release --bin deno` which takes roughly ~4mn on M1s
+more on other machines which significantly slows down iteration &
+experimentation.
+
+## Example
+
+```js
+import { benchSync, rebootstrap } from "./tools/bench/mod.js";
+
+const bootstrap = rebootstrap([
+ "webidl",
+ "console",
+ "url",
+ "web",
+ "fetch",
+]);
+
+benchSync("resp_w_h", 1e6, () =>
+ new bootstrap.fetch.Response("yolo", {
+ status: 200,
+ headers: {
+ server: "deno",
+ "content-type": "text/plain",
+ },
+ }));
+```
+
+This code can then benched and profiled (using Chrome's DevTools) similar to
+regular userland code and the original source files appear in the DevTools as
+you would expect.