summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartek Iwańczuk <biwanczuk@gmail.com>2023-08-20 12:02:47 +0200
committerGitHub <noreply@github.com>2023-08-20 10:02:47 +0000
commit32bbba3db29d503a681ad1617901ce9a0e908e86 (patch)
tree2632bed2404893619440c7c43488a64a4c25454d
parent7847de0974889ac265f9c1ce246588f6c7ddde22 (diff)
perf(ext/event): always set timeStamp to 0 (#20191)
```js Deno.bench(function eventNew() { new Event("foo"); }); ``` <b>main</b> ``` ./target/release/deno bench event_bench.js cpu: Apple M1 Max runtime: deno 1.36.1 (aarch64-apple-darwin) file:///Users/ib/dev/deno/event_bench.js benchmark time (avg) iter/s (min … max) p75 p99 p995 --------------------------------------------------------------- ----------------------------- eventNew 36.43 ns/iter 27,451,874.9 (35.15 ns … 46.98 ns) 37.68 ns 40.7 ns 41.69 ns ``` <b>this PR</b> ``` ./target/release/deno bench event_bench.js cpu: Apple M1 Max runtime: deno 1.36.1 (aarch64-apple-darwin) file:///Users/ib/dev/deno/event_bench.js benchmark time (avg) iter/s (min … max) p75 p99 p995 --------------------------------------------------------------- ----------------------------- eventNew 13.71 ns/iter 72,958,970.0 (12.85 ns … 31.79 ns) 15.11 ns 16.49 ns 17.5 ns ``` Towards #20167
-rw-r--r--ext/web/02_event.js22
-rw-r--r--ext/websocket/01_websocket.js2
2 files changed, 1 insertions, 23 deletions
diff --git a/ext/web/02_event.js b/ext/web/02_event.js
index 2be800367..80dc4ffc7 100644
--- a/ext/web/02_event.js
+++ b/ext/web/02_event.js
@@ -21,7 +21,6 @@ const {
ArrayPrototypeSplice,
ArrayPrototypeUnshift,
Boolean,
- DateNow,
Error,
FunctionPrototypeCall,
MapPrototypeGet,
@@ -123,8 +122,6 @@ const _inPassiveListener = Symbol("[[inPassiveListener]]");
const _dispatched = Symbol("[[dispatched]]");
const _isTrusted = Symbol("[[isTrusted]]");
const _path = Symbol("[[path]]");
-// internal.
-const _skipInternalInit = Symbol("[[skipSlowInit]]");
class Event {
constructor(type, eventInitDict = {}) {
@@ -138,21 +135,6 @@ class Event {
this[_isTrusted] = false;
this[_path] = [];
- if (eventInitDict?.[_skipInternalInit]) {
- this[_attributes] = {
- type,
- data: eventInitDict.data ?? null,
- bubbles: eventInitDict.bubbles ?? false,
- cancelable: eventInitDict.cancelable ?? false,
- composed: eventInitDict.composed ?? false,
- currentTarget: null,
- eventPhase: Event.NONE,
- target: null,
- timeStamp: 0,
- };
- return;
- }
-
webidl.requiredArguments(
arguments.length,
1,
@@ -172,7 +154,7 @@ class Event {
currentTarget: null,
eventPhase: Event.NONE,
target: null,
- timeStamp: DateNow(),
+ timeStamp: 0,
};
}
@@ -1205,7 +1187,6 @@ class MessageEvent extends Event {
bubbles: eventInitDict?.bubbles ?? false,
cancelable: eventInitDict?.cancelable ?? false,
composed: eventInitDict?.composed ?? false,
- [_skipInternalInit]: eventInitDict?.[_skipInternalInit],
});
this.data = eventInitDict?.data ?? null;
@@ -1494,7 +1475,6 @@ function reportError(error) {
}
export {
- _skipInternalInit,
CloseEvent,
CustomEvent,
defineEventHandler,
diff --git a/ext/websocket/01_websocket.js b/ext/websocket/01_websocket.js
index 71abb0830..bb1624f22 100644
--- a/ext/websocket/01_websocket.js
+++ b/ext/websocket/01_websocket.js
@@ -9,7 +9,6 @@ import * as webidl from "ext:deno_webidl/00_webidl.js";
import { HTTP_TOKEN_CODE_POINT_RE } from "ext:deno_web/00_infra.js";
import DOMException from "ext:deno_web/01_dom_exception.js";
import {
- _skipInternalInit,
CloseEvent,
defineEventHandler,
dispatch,
@@ -450,7 +449,6 @@ class WebSocket extends EventTarget {
const event = new MessageEvent("message", {
data,
origin: this[_url],
- [_skipInternalInit]: true,
});
setIsTrusted(event, true);
dispatch(this, event);