aboutsummaryrefslogtreecommitdiff
path: root/bench/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'bench/snippets')
-rw-r--r--bench/snippets/emitter.js39
1 files changed, 38 insertions, 1 deletions
diff --git a/bench/snippets/emitter.js b/bench/snippets/emitter.js
index 4b6b8b216..0dacf18ac 100644
--- a/bench/snippets/emitter.js
+++ b/bench/snippets/emitter.js
@@ -16,18 +16,55 @@ bench("EventEmitter.emit", () => {
});
});
+var monkey = Object.assign({}, EventEmitter.prototype);
+monkey.on("hello", (event) => {
+ event.preventDefault();
+});
+
+bench("[monkey] EventEmitter.emit", () => {
+ var called = false;
+ monkey.emit("hello", {
+ preventDefault() {
+ id++;
+ called = true;
+ },
+ });
+
+ if (!called) {
+ throw new Error("monkey failed");
+ }
+});
+
bench("EventEmitter.on x 10_000 (handler)", () => {
- var cb = () => {
+ var cb = (event) => {
event.preventDefault();
};
emitter.on("hey", cb);
+ var called = false;
for (let i = 0; i < 10_000; i++)
emitter.emit("hey", {
preventDefault() {
id++;
+ called = true;
},
});
emitter.off("hey", cb);
+
+ if (!called) throw new Error("not called");
+});
+
+bench("[monkey] EventEmitter.on x 10_000 (handler)", () => {
+ var cb = () => {
+ event.preventDefault();
+ };
+ monkey.on("hey", cb);
+ for (let i = 0; i < 10_000; i++)
+ monkey.emit("hey", {
+ preventDefault() {
+ id++;
+ },
+ });
+ monkey.off("hey", cb);
});
var target = new EventTarget();