From e8e3ec6ca7392e43975c75b56eaaa711d5ea9410 Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 23 Nov 2023 23:18:23 +0800 Subject: [PATCH] perf(compiler-sfc): remove magic-string trim on script magic-string's trim method uses a regex check for aborting which turns out to be extremely expensive - it cna take up to 10% time in total SFC compilation! The usage here is purely aesthetic so simply removing it for a big perf gain is well worth it. --- .../__snapshots__/compileScript.spec.ts.snap | 44 +++++++++++++------ .../__snapshots__/defineEmits.spec.ts.snap | 3 +- .../__snapshots__/defineExpose.spec.ts.snap | 3 +- .../__snapshots__/defineOptions.spec.ts.snap | 6 ++- .../definePropsDestructure.spec.ts.snap | 15 ++++--- .../__snapshots__/hoistStatic.spec.ts.snap | 15 ++++--- packages/compiler-sfc/src/compileScript.ts | 2 - 7 files changed, 58 insertions(+), 30 deletions(-) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index f4f44284b..4cc3cf611 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -14,7 +14,8 @@ return { a } `; exports[`SFC analyze