From a36d61e73c3438d36b50838de04407e67ff3b19d Mon Sep 17 00:00:00 2001 From: SukkaW Date: Sat, 12 Oct 2024 12:49:15 +0800 Subject: [PATCH] Perf: improve fastStringArrayJoin by 40% --- Build/lib/misc.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Build/lib/misc.ts b/Build/lib/misc.ts index 11d79d8b..55bf1fbe 100644 --- a/Build/lib/misc.ts +++ b/Build/lib/misc.ts @@ -6,11 +6,15 @@ import { OUTPUT_CLASH_DIR, OUTPUT_SINGBOX_DIR, OUTPUT_SURGE_DIR } from '../const export const isTruthy = (i: T | 0 | '' | false | null | undefined): i is T => !!i; export function fastStringArrayJoin(arr: string[], sep: string) { - let result = ''; - for (let i = 0, len = arr.length; i < len; i++) { - if (i !== 0) { - result += sep; - } + const len = arr.length; + if (len === 0) { + return ''; + } + + let result = arr[0]; + + for (let i = 1; i < len; i++) { + result += sep; result += arr[i]; } return result;