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
"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
|
|
});
|