summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@protobufjs/float/bench
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
committeraltaf-creator <dev@altafcreator.com>2025-11-09 11:15:19 +0800
commit8eff962cab608341a6f2fedc640a0e32d96f26e2 (patch)
tree05534d1a720ddc3691d346c69b4972555820a061 /frontend-old/node_modules/@protobufjs/float/bench
pain
Diffstat (limited to 'frontend-old/node_modules/@protobufjs/float/bench')
-rw-r--r--frontend-old/node_modules/@protobufjs/float/bench/index.js87
-rw-r--r--frontend-old/node_modules/@protobufjs/float/bench/suite.js46
2 files changed, 133 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@protobufjs/float/bench/index.js b/frontend-old/node_modules/@protobufjs/float/bench/index.js
new file mode 100644
index 0000000..1b3c4b8
--- /dev/null
+++ b/frontend-old/node_modules/@protobufjs/float/bench/index.js
@@ -0,0 +1,87 @@
+"use strict";
+
+var float = require(".."),
+ ieee754 = require("ieee754"),
+ newSuite = require("./suite");
+
+var F32 = Float32Array;
+var F64 = Float64Array;
+delete global.Float32Array;
+delete global.Float64Array;
+var floatFallback = float({});
+global.Float32Array = F32;
+global.Float64Array = F64;
+
+var buf = new Buffer(8);
+
+newSuite("writeFloat")
+.add("float", function() {
+ float.writeFloatLE(0.1, buf, 0);
+})
+.add("float (fallback)", function() {
+ floatFallback.writeFloatLE(0.1, buf, 0);
+})
+.add("ieee754", function() {
+ ieee754.write(buf, 0.1, 0, true, 23, 4);
+})
+.add("buffer", function() {
+ buf.writeFloatLE(0.1, 0);
+})
+.add("buffer (noAssert)", function() {
+ buf.writeFloatLE(0.1, 0, true);
+})
+.run();
+
+newSuite("readFloat")
+.add("float", function() {
+ float.readFloatLE(buf, 0);
+})
+.add("float (fallback)", function() {
+ floatFallback.readFloatLE(buf, 0);
+})
+.add("ieee754", function() {
+ ieee754.read(buf, 0, true, 23, 4);
+})
+.add("buffer", function() {
+ buf.readFloatLE(0);
+})
+.add("buffer (noAssert)", function() {
+ buf.readFloatLE(0, true);
+})
+.run();
+
+newSuite("writeDouble")
+.add("float", function() {
+ float.writeDoubleLE(0.1, buf, 0);
+})
+.add("float (fallback)", function() {
+ floatFallback.writeDoubleLE(0.1, buf, 0);
+})
+.add("ieee754", function() {
+ ieee754.write(buf, 0.1, 0, true, 52, 8);
+})
+.add("buffer", function() {
+ buf.writeDoubleLE(0.1, 0);
+})
+.add("buffer (noAssert)", function() {
+ buf.writeDoubleLE(0.1, 0, true);
+})
+.run();
+
+newSuite("readDouble")
+.add("float", function() {
+ float.readDoubleLE(buf, 0);
+})
+.add("float (fallback)", function() {
+ floatFallback.readDoubleLE(buf, 0);
+})
+.add("ieee754", function() {
+ ieee754.read(buf, 0, true, 52, 8);
+})
+.add("buffer", function() {
+ buf.readDoubleLE(0);
+})
+.add("buffer (noAssert)", function() {
+ buf.readDoubleLE(0, true);
+})
+.run();
diff --git a/frontend-old/node_modules/@protobufjs/float/bench/suite.js b/frontend-old/node_modules/@protobufjs/float/bench/suite.js
new file mode 100644
index 0000000..3820579
--- /dev/null
+++ b/frontend-old/node_modules/@protobufjs/float/bench/suite.js
@@ -0,0 +1,46 @@
+"use strict";
+module.exports = newSuite;
+
+var benchmark = require("benchmark"),
+ chalk = require("chalk");
+
+var padSize = 27;
+
+function newSuite(name) {
+ var benches = [];
+ return new benchmark.Suite(name)
+ .on("add", function(event) {
+ benches.push(event.target);
+ })
+ .on("start", function() {
+ process.stdout.write("benchmarking " + name + " performance ...\n\n");
+ })
+ .on("cycle", function(event) {
+ process.stdout.write(String(event.target) + "\n");
+ })
+ .on("complete", function() {
+ if (benches.length > 1) {
+ var fastest = this.filter("fastest"), // eslint-disable-line no-invalid-this
+ fastestHz = getHz(fastest[0]);
+ process.stdout.write("\n" + chalk.white(pad(fastest[0].name, padSize)) + " was " + chalk.green("fastest") + "\n");
+ benches.forEach(function(bench) {
+ if (fastest.indexOf(bench) === 0)
+ return;
+ var hz = hz = getHz(bench);
+ var percent = (1 - hz / fastestHz) * 100;
+ process.stdout.write(chalk.white(pad(bench.name, padSize)) + " was " + chalk.red(percent.toFixed(1) + "% slower") + "\n");
+ });
+ }
+ process.stdout.write("\n");
+ });
+}
+
+function getHz(bench) {
+ return 1 / (bench.stats.mean + bench.stats.moe);
+}
+
+function pad(str, len, l) {
+ while (str.length < len)
+ str = l ? str + " " : " " + str;
+ return str;
+}