Skip to content

Commit c918fc9

Browse files
committed
add json-accelerator to benchmarks
Signed-off-by: Matteo Collina <[email protected]>
1 parent 6ca7318 commit c918fc9

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

benchmark/bench-cmp-lib.js

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
'use strict'
1+
'use strictcreateAccelerator'
22

33
const benchmark = require('benchmark')
44
const suite = new benchmark.Suite()
@@ -118,6 +118,12 @@ const ajvSerialize = ajv.compileSerializer(schemaAJVJTD)
118118
const ajvSerializeArray = ajv.compileSerializer(arraySchemaAJVJTD)
119119
const ajvSerializeString = ajv.compileSerializer({ type: 'string' })
120120

121+
const { createAccelerator } = require('json-accelerator')
122+
const accelStringify = createAccelerator(schema)
123+
const accelArray = createAccelerator(arraySchema)
124+
const accelDate = FJS(dateFormatSchema)
125+
const accelString = FJS({ type: 'string' })
126+
121127
const getRandomString = (length) => {
122128
if (!Number.isInteger(length)) {
123129
throw new Error('Expected integer length')
@@ -170,6 +176,9 @@ suite.add('CJS creation', function () {
170176
suite.add('AJV Serialize creation', function () {
171177
ajv.compileSerializer(schemaAJVJTD)
172178
})
179+
suite.add('json-accelerator creation', function () {
180+
createAccelerator(schema)
181+
})
173182

174183
suite.add('JSON.stringify array', function () {
175184
JSON.stringify(multiArray)
@@ -179,6 +188,10 @@ suite.add('fast-json-stringify array default', function () {
179188
stringifyArrayDefault(multiArray)
180189
})
181190

191+
suite.add('json-accelerator array', function () {
192+
accelArray(multiArray)
193+
})
194+
182195
suite.add('fast-json-stringify array json-stringify', function () {
183196
stringifyArrayJSONStringify(multiArray)
184197
})
@@ -219,6 +232,10 @@ suite.add('fast-json-stringify long string', function () {
219232
stringifyString(str)
220233
})
221234

235+
suite.add('json-accelerator long string', function () {
236+
stringifyString(str)
237+
})
238+
222239
suite.add('compile-json-stringify long string', function () {
223240
CJSStringifyString(str)
224241
})
@@ -235,6 +252,10 @@ suite.add('fast-json-stringify short string', function () {
235252
stringifyString('hello world')
236253
})
237254

255+
suite.add('json-accelerator short string', function () {
256+
accelString('hello world')
257+
})
258+
238259
suite.add('compile-json-stringify short string', function () {
239260
CJSStringifyString('hello world')
240261
})
@@ -251,6 +272,10 @@ suite.add('fast-json-stringify obj', function () {
251272
stringify(obj)
252273
})
253274

275+
suite.add('json-accelerator obj', function () {
276+
accelStringify(obj)
277+
})
278+
254279
suite.add('compile-json-stringify obj', function () {
255280
CJSStringify(obj)
256281
})
@@ -267,6 +292,10 @@ suite.add('fast-json-stringify date format', function () {
267292
stringifyDate(date)
268293
})
269294

295+
suite.add('json-accelerate date format', function () {
296+
accelDate(date)
297+
})
298+
270299
suite.add('compile-json-stringify date format', function () {
271300
CJSStringifyDate(date)
272301
})

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
"eslint": "^9.17.0",
7676
"fast-json-stringify": ".",
7777
"is-my-json-valid": "^2.20.6",
78+
"json-accelerator": "^0.0.2",
7879
"neostandard": "^0.12.0",
7980
"simple-git": "^3.23.0",
8081
"tsd": "^0.31.0",

0 commit comments

Comments
 (0)