Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions bench.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,21 @@ const schemaCJS = {
}
}

const schemaAJVJTD = {
properties: {
firstName: {
type: 'string'
},
lastName: {
type: 'string',
nullable: true
},
age: {
type: 'uint8'
}
}
}

const arraySchema = {
title: 'array schema',
type: 'array',
Expand All @@ -50,6 +65,10 @@ const arraySchemaCJS = {
items: schemaCJS
}

const arraySchemaAJVJTD = {
elements: schemaAJVJTD
}

const obj = {
firstName: 'Matteo',
lastName: 'Collina',
Expand All @@ -69,6 +88,12 @@ const stringifyArray = FJS(arraySchema)
const stringifyString = FJS({ type: 'string' })
let str = ''

const Ajv = require('ajv/dist/jtd')
const ajv = new Ajv()
const ajvSerialize = ajv.compileSerializer(schemaAJVJTD)
const ajvSerializeArray = ajv.compileSerializer(arraySchemaAJVJTD)
const ajvSerializeString = ajv.compileSerializer({ type: 'string' })

// eslint-disable-next-line
for (var i = 0; i < 10000; i++) {
str += i
Expand All @@ -89,6 +114,9 @@ suite.add('FJS creation', function () {
suite.add('CJS creation', function () {
CJS(schemaCJS)
})
suite.add('AJV Serialize creation', function () {
ajv.compileSerializer(schemaAJVJTD)
})

suite.add('JSON.stringify array', function () {
JSON.stringify(multiArray)
Expand All @@ -102,6 +130,10 @@ suite.add('compile-json-stringify array', function () {
CJSStringifyArray(multiArray)
})

suite.add('AJV Serialize array', function () {
ajvSerializeArray(multiArray)
})

suite.add('JSON.stringify long string', function () {
JSON.stringify(str)
})
Expand All @@ -114,6 +146,10 @@ suite.add('compile-json-stringify long string', function () {
CJSStringifyString(str)
})

suite.add('AJV Serialize long string', function () {
ajvSerializeString(str)
})

suite.add('JSON.stringify short string', function () {
JSON.stringify('hello world')
})
Expand All @@ -126,6 +162,10 @@ suite.add('compile-json-stringify short string', function () {
CJSStringifyString('hello world')
})

suite.add('AJV Serialize short string', function () {
ajvSerializeString('hello world')
})

suite.add('JSON.stringify obj', function () {
JSON.stringify(obj)
})
Expand All @@ -138,6 +178,10 @@ suite.add('compile-json-stringify obj', function () {
CJSStringify(obj)
})

suite.add('AJV Serialize obj', function () {
ajvSerialize(obj)
})

suite.on('cycle', cycle)

suite.run()
Expand Down