From b9380fe0945562832d8cd114df589c76daef2db4 Mon Sep 17 00:00:00 2001 From: Konrad Borowski Date: Fri, 22 Jan 2021 22:08:30 +0100 Subject: [PATCH] Use JSON.parse for parsing teambuilder tables This optimizes JavaScript parsing performance. V8 developers recommend applying this optimization for objects of 10 kB or larger, see for more details. Teambuilder tables are 3.5 MBs which is much more than 10 kB. --- build-tools/build-indexes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-tools/build-indexes b/build-tools/build-indexes index c2f268634bc..6af02d26ace 100755 --- a/build-tools/build-indexes +++ b/build-tools/build-indexes @@ -1018,7 +1018,7 @@ process.stdout.write("Building `data/teambuilder-tables.js`... "); } } - buf += 'exports.BattleTeambuilderTable = ' + JSON.stringify(BattleTeambuilderTable) + ';\n\n'; + buf += `exports.BattleTeambuilderTable = JSON.parse('${JSON.stringify(BattleTeambuilderTable).replace(/['\\]/g, "\\$&")}');\n\n`; fs.writeFileSync('data/teambuilder-tables.js', buf); }