From 051f2f74c3184311d54b02ecc301f9c98bf8d9ec Mon Sep 17 00:00:00 2001 From: Panferov Ivan Date: Mon, 25 Mar 2024 22:39:55 +0800 Subject: [PATCH] Unify Set/forEach bench with Map bench Signed-off-by: Panferov Ivan --- js-perf-test/Map/foreach.js | 15 ++++-------- js-perf-test/Set/forEach.js | 47 ++++++++++++++----------------------- 2 files changed, 23 insertions(+), 39 deletions(-) diff --git a/js-perf-test/Map/foreach.js b/js-perf-test/Map/foreach.js index fbedb6e..7aa1522 100644 --- a/js-perf-test/Map/foreach.js +++ b/js-perf-test/Map/foreach.js @@ -9,22 +9,17 @@ } } + function ForEachFunc(first, second) {} + const __MULTIPLIER__ = 1; const ITERATIONS = __MULTIPLIER__ * 10000; - function ForEachFunc(first, second) { - if (first !== second) { - throw new Error(); - } - } - MapSetupSmi(); - let start1 = Date.now(); + let start = Date.now(); for (let i = 0; i < ITERATIONS; i++) { map.forEach(ForEachFunc); } - let time1 = Date.now() - start1; - print("scene_output:Map foreach map.forEach time:", time1) - + let time = Date.now() - start; + print("scene_output:Map foreach map.forEach time:", time) })(); diff --git a/js-perf-test/Set/forEach.js b/js-perf-test/Set/forEach.js index a4b2be1..aeb319f 100644 --- a/js-perf-test/Set/forEach.js +++ b/js-perf-test/Set/forEach.js @@ -1,36 +1,25 @@ (() => { + let set; + let N = 100; - let set; - let keys; - let N = 10; - - function SetSetupSmi(count = 2 * N) { - keys = Array.from({ length: count }, (v, i) => i); - set = new Set; - for (let i = 0; i < N; i++) { - set.add(keys[i], i); - } + function SetSetupSmi() { + set = new Set(); + for (let i = 0; i < N; i++) { + set.add(i); } + } - function ForEachFunc(first, second) { - if (first !== second) { - throw new Error(); - } - } + function ForEachFunc(first, second) {} - function SetForEach() { - set.forEach(ForEachFunc); - } + const __MULTIPLIER__ = 1; + const ITERATIONS = __MULTIPLIER__ * 10000; - SetSetupSmi(); - - const __MULTIPLIER__ = 1; - const ITERATIONS = __MULTIPLIER__ * 10000; + SetSetupSmi(); - let start = Date.now(); - for (let i = 0; i < ITERATIONS; i++) { - SetForEach(); - } - let time = Date.now() - start; - print('scene_output: Set forEach SetForEach time:', time); -})() \ No newline at end of file + let start = Date.now(); + for (let i = 0; i < ITERATIONS; i++) { + set.forEach(ForEachFunc); + } + let time = Date.now() - start; + print('scene_output: Set forEach SetForEach time:', time); +})(); -- Gitee