From ab56e114eaf6a662e32293695bf306996f966908 Mon Sep 17 00:00:00 2001 From: shirakaba <14055146+shirakaba@users.noreply.github.com> Date: Tue, 20 Dec 2022 19:06:46 +0900 Subject: [PATCH] fix: C for loop instead of for...of --- packages/core/data/dom-events/dom-event.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/core/data/dom-events/dom-event.ts b/packages/core/data/dom-events/dom-event.ts index 19b53f90d..1ab99d088 100644 --- a/packages/core/data/dom-events/dom-event.ts +++ b/packages/core/data/dom-events/dom-event.ts @@ -331,7 +331,10 @@ export class DOMEvent implements Event { const eventPath = this.getEventPath(target, 'capture'); // Capturing phase, e.g. [Page, StackLayout, Button] - for (const currentTarget of eventPath) { + // This traditional C loop runs 150 nanoseconds faster than a for...of + // loop. + for (let i = 0; i < eventPath.length; i++) { + const currentTarget = eventPath[i]; this.currentTarget = currentTarget; this.eventPhase = this.target === this.currentTarget ? this.AT_TARGET : this.CAPTURING_PHASE;