dotfiles/vscode/.vscode/extensions/randomfractalsinc.vscode-data-preview-2.3.0/node_modules/json-bignum/benchmark.js
Errol Sancaktar ff17c17e23 vscode
2024-06-14 09:31:58 -06:00

104 lines
2.8 KiB
JavaScript

var bignumJSON = require('./lib');
var iterations = 10000;
var bignumJsonStr = '{ \
"bigint": 92233720368547758074237, \
"decimal": -9223372036854775807.4237482374983253298159, \
"string": "hello world", \
"boolean": true, \
"array": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], \
"object": { \
"int": 15, \
"float": 15.56 \
} \
}';
var jsonStr = '{ \
"int": 9223372, \
"float": -0.4237482, \
"string": "hello world", \
"boolean": true, \
"array": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], \
"object": { \
"int": 15, \
"float": 15.56 \
} \
}';
// dont count first call
var jsonObj = JSON.parse(bignumJsonStr);
var bignumObj = bignumJSON.parse(bignumJsonStr);
JSON.stringify(jsonObj);
bignumJSON.stringify(bignumObj);
// test JSON.parse
var startTime = process.hrtime();
for (var i = 0; i < iterations; i++) {
JSON.parse(bignumJsonStr);
}
var diffTime = process.hrtime(startTime);
diffTime = (diffTime[0] * 1e9 + diffTime[1]) / 1e6;
console.log(iterations + ' calls of JSON.parse(): ' + diffTime.toString() + ' ms');
// test JSON.stringify
startTime = process.hrtime();
for (var i = 0; i < iterations; i++) {
JSON.stringify(jsonObj);
}
diffTime = process.hrtime(startTime);
diffTime = (diffTime[0] * 1e9 + diffTime[1]) / 1e6;
console.log(iterations + ' calls of JSON.stringify(): ' + diffTime.toString() + ' ms');
// test bignumJSON.parse with bignums
startTime = process.hrtime();
for (var i = 0; i < iterations; i++) {
bignumJSON.parse(bignumJsonStr);
}
diffTime = process.hrtime(startTime);
diffTime = (diffTime[0] * 1e9 + diffTime[1]) / 1e6;
console.log(iterations + ' calls of bignumJSON.parse() with bignums in JSON: ' + diffTime.toString() + ' ms');
// test bignumJSON.parse without bignums
startTime = process.hrtime();
for (var i = 0; i < iterations; i++) {
bignumJSON.parse(jsonStr);
}
diffTime = process.hrtime(startTime);
diffTime = (diffTime[0] * 1e9 + diffTime[1]) / 1e6;
console.log(iterations + ' calls of bignumJSON.parse() without bignums in JSON: ' + diffTime.toString() + ' ms');
// test bignumJSON.stringify with bignums
startTime = process.hrtime();
for (var i = 0; i < iterations; i++) {
bignumJSON.stringify(bignumObj);
}
diffTime = process.hrtime(startTime);
diffTime = (diffTime[0] * 1e9 + diffTime[1]) / 1e6;
console.log(iterations + ' calls of bignumJSON.stringify() with bignums in JSON: ' + diffTime.toString() + ' ms');
// test bignumJSON.stringify without bignums
startTime = process.hrtime();
for (var i = 0; i < iterations; i++) {
bignumJSON.stringify(jsonObj);
}
diffTime = process.hrtime(startTime);
diffTime = (diffTime[0] * 1e9 + diffTime[1]) / 1e6;
console.log(iterations + ' calls of bignumJSON.stringify() without bignums in JSON: ' + diffTime.toString() + ' ms');