Skip to content

Commit 0bdba70

Browse files
committed
added flatted-view to the benchmark
1 parent 2a02dce commit 0bdba70

File tree

4 files changed

+33
-1
lines changed

4 files changed

+33
-1
lines changed

package-lock.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
"c8": "^11.0.0",
6060
"circular-json": "^0.5.9",
6161
"circular-json-es6": "^2.0.2",
62+
"flatted-view": "^0.1.1",
6263
"jsan": "^3.1.14",
6364
"rollup": "^4.59.0",
6465
"terser": "^5.46.0",

test/bench.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// original file from:
22
// https://github.com/yyx990803/circular-json-es6
33

4+
var isArray = Array.isArray;
5+
46
var dummy100 = require('./data.json');
57
var dummy50 = dummy100.slice(0, 50)
68
var dummy10 = dummy100.slice(0, 10)
@@ -20,13 +22,14 @@ var jsan = require('jsan')
2022
var cj6 = require('circular-json-es6')
2123
var flatted = require('../cjs')
2224
var SC = require('@ungap/structured-clone/json')
25+
var flattedView = require('./flatted-view.mjs').default
2326

2427
function run(name, fn, dummy) {
2528
console.log(
2629
name + ' ' + (
2730
typeof dummy === 'string' ?
2831
dummy.length + ' chars' :
29-
(dummy.length || '') + ' objects'
32+
(isArray(dummy) && typeof dummy[0] === 'number' ? (dummy.length + ' bytes') : ((dummy.length || '') + ' objects'))
3033
) + ' parsed ' + (
3134
bench(fn, dummy) / 1000
3235
).toFixed(2) + ' times per second'
@@ -72,6 +75,13 @@ run('Structured Clone', SC.parse, r)
7275
run('Structured Clone', SC.stringify, dummy10)
7376
run('Structured Clone', SC.parse, r)
7477
console.log('-----------------------------------')
78+
run('flatted-view', flattedView.encode, dummy100)
79+
run('flatted-view', flattedView.decode, r)
80+
run('flatted-view', flattedView.encode, dummy50)
81+
run('flatted-view', flattedView.decode, r)
82+
run('flatted-view', flattedView.encode, dummy10)
83+
run('flatted-view', flattedView.decode, r)
84+
console.log('-----------------------------------')
7585
console.log('50% same objects')
7686
dummy100 = dummy50.concat(dummy50)
7787
console.log('-----------------------------------')
@@ -85,6 +95,8 @@ run('flatted', flatted.stringify, dummy100)
8595
run('flatted', flatted.parse, r)
8696
run('Structured Clone', SC.stringify, dummy100)
8797
run('Structured Clone', SC.parse, r)
98+
run('flatted-view', flattedView.encode, dummy100)
99+
run('flatted-view', flattedView.decode, r)
88100
console.log('-----------------------------------')
89101
console.log('90% same objects')
90102
dummy100 = [].concat(
@@ -102,6 +114,8 @@ run('flatted', flatted.stringify, dummy100)
102114
run('flatted', flatted.parse, r)
103115
run('Structured Clone', SC.stringify, dummy100)
104116
run('Structured Clone', SC.parse, r)
117+
run('flatted-view', flattedView.encode, dummy100)
118+
run('flatted-view', flattedView.decode, r)
105119
console.log('-----------------------------------')
106120
console.log('with circular')
107121
function makeCircularObject () {
@@ -124,6 +138,8 @@ run('flatted', flatted.stringify, dummy100)
124138
run('flatted', flatted.parse, r)
125139
run('Structured Clone', SC.stringify, dummy100)
126140
run('Structured Clone', SC.parse, r)
141+
run('flatted-view', flattedView.encode, dummy100)
142+
run('flatted-view', flattedView.decode, r)
127143
console.log('-----------------------------------')
128144
console.log('with circular 90% same')
129145
function makeCircularObject () {
@@ -150,6 +166,8 @@ run('flatted', flatted.stringify, dummy100)
150166
run('flatted', flatted.parse, r)
151167
run('Structured Clone', SC.stringify, dummy100)
152168
run('Structured Clone', SC.parse, r)
169+
run('flatted-view', flattedView.encode, dummy100)
170+
run('flatted-view', flattedView.decode, r)
153171
// */
154172
console.log('-----------------------------------')
155173
console.log('Big real-world circular data')
@@ -168,3 +186,5 @@ run('flatted', flatted.stringify, cirular)
168186
run('flatted', flatted.parse, r)
169187
run('Structured Clone', SC.stringify, cirular)
170188
run('Structured Clone', SC.parse, r)
189+
run('flatted-view', flattedView.encode, cirular)
190+
run('flatted-view', flattedView.decode, r)

test/flatted-view.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import * as main from 'flatted-view';
2+
3+
export { main as default };

0 commit comments

Comments
 (0)