You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
812 B
JavaScript
38 lines
812 B
JavaScript
4 years ago
|
"use strict";
|
||
|
|
||
|
const benchmark = require("benchmark");
|
||
|
|
||
|
const { select, where, anyOf, allOf, lessThan, moreThan, unsafeSQL, parameter } = require("../src/operations");
|
||
|
|
||
|
let suite = new benchmark.Suite();
|
||
|
|
||
|
suite
|
||
|
.add("Build standard query", () => {
|
||
|
let query = select("projects", [
|
||
|
where({
|
||
|
foo: anyOf([ "bar", "baz", anyOf([ "bar2", "baz2" ]), unsafeSQL("TRUE") ]),
|
||
|
qux: anyOf([ 13, moreThan(42) ]),
|
||
|
complex: anyOf([
|
||
|
30,
|
||
|
40,
|
||
|
allOf([
|
||
|
moreThan(100),
|
||
|
lessThan(200),
|
||
|
lessThan(parameter("max"))
|
||
|
])
|
||
|
])
|
||
|
}),
|
||
|
where({ second: 2 })
|
||
|
]);
|
||
|
})
|
||
|
.on("cycle", (event) => {
|
||
|
console.log(String(event.target));
|
||
|
})
|
||
|
.on("complete", function () {
|
||
|
console.log('Fastest is ' + this.filter('fastest').map('name'));
|
||
|
})
|
||
|
.run({
|
||
|
async: true,
|
||
|
minSamples: 500
|
||
|
});
|