summaryrefslogtreecommitdiff
path: root/tools/build_benchmark_jsons.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build_benchmark_jsons.js')
-rw-r--r--tools/build_benchmark_jsons.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/build_benchmark_jsons.js b/tools/build_benchmark_jsons.js
new file mode 100644
index 000000000..af43226d7
--- /dev/null
+++ b/tools/build_benchmark_jsons.js
@@ -0,0 +1,31 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+import { buildPath, existsSync, join } from "./util.js";
+
+const currentDataFile = join(buildPath(), "bench.json");
+const allDataFile = "gh-pages/data.json"; // Includes all benchmark data.
+const recentDataFile = "gh-pages/recent.json"; // Includes recent 20 benchmark data.
+
+function readJson(filename) {
+ return JSON.parse(Deno.readTextFileSync(filename));
+}
+
+function writeJson(filename, data) {
+ return Deno.writeTextFileSync(filename, JSON.stringify(data));
+}
+
+if (!existsSync(currentDataFile)) {
+ throw new Error(`${currentDataFile} doesn't exist`);
+}
+
+if (!existsSync(allDataFile)) {
+ throw new Error(`${allDataFile} doesn't exist`);
+}
+
+const newData = readJson(currentDataFile);
+const allData = readJson(allDataFile);
+allData.push(newData);
+const allDataLen = allData.length;
+const recentData = allData.slice(allDataLen - 20);
+
+writeJson(allDataFile, allData);
+writeJson(recentDataFile, recentData);