依赖文件
This commit is contained in:
+85
@@ -0,0 +1,85 @@
|
||||
'use strict'
|
||||
|
||||
var benchmark = require('benchmark')
|
||||
var suite = new benchmark.Suite()
|
||||
var fs = require('fs')
|
||||
var myData = fs.readFileSync('./package.json')
|
||||
var Parse = require('./')
|
||||
var safe = require('json-parse-safe')
|
||||
var max = 100
|
||||
|
||||
suite.add('Parse class', function parseBench () {
|
||||
var parsed = new Parse(myData)
|
||||
if (parsed.err) {
|
||||
return
|
||||
}
|
||||
|
||||
// add a loop to simulate some activity here
|
||||
for (var i = 0; i < max; i++) {
|
||||
var count = 0
|
||||
var keys = Object.keys(parsed.value)
|
||||
for (var k = 0; k < keys.length; k++) {
|
||||
count++
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
suite.add('Parse wrapped', function parseBench () {
|
||||
var parsed = Parse(myData)
|
||||
if (parsed.err) {
|
||||
return
|
||||
}
|
||||
|
||||
// add a loop to simulate some activity here
|
||||
for (var i = 0; i < max; i++) {
|
||||
var count = 0
|
||||
var keys = Object.keys(parsed.value)
|
||||
for (var k = 0; k < keys.length; k++) {
|
||||
count++
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
suite.add('json-parse-safe', function parseBench () {
|
||||
var parsed = safe(myData)
|
||||
if (parsed.error) {
|
||||
return
|
||||
}
|
||||
|
||||
// add a loop to simulate some activity here
|
||||
for (var i = 0; i < max; i++) {
|
||||
var count = 0
|
||||
var keys = Object.keys(parsed.value)
|
||||
for (var k = 0; k < keys.length; k++) {
|
||||
count++
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
suite.add('try catch here', function tryCatchBench () {
|
||||
var data = null
|
||||
try {
|
||||
data = JSON.parse(myData)
|
||||
} catch (err) {
|
||||
return
|
||||
}
|
||||
|
||||
// add a loop to simulate some activity here
|
||||
for (var i = 0; i < max; i++) {
|
||||
var count = 0
|
||||
var keys = Object.keys(data)
|
||||
for (var k = 0; k < keys.length; k++) {
|
||||
count++
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
suite.on('complete', function print () {
|
||||
for (var i = 0; i < this.length; i++) {
|
||||
console.log(this[i].toString())
|
||||
}
|
||||
|
||||
console.log('Fastest is', this.filter('fastest').map('name')[0])
|
||||
})
|
||||
|
||||
suite.run()
|
||||
Reference in New Issue
Block a user