INNER CODE UNIT · TypeScript

benchmark

SierraSoftworks/Iridium · benchmarks/mongodb.ts:41

function benchmark(name: string, prepare: (objects: UserDocument[]) => Bluebird<any>|null, run: (objects: UserDocument[]) => Bluebird<any>, compareTo?: string) {
    return Bluebird.resolve(new Array(samples)).map(() => {
        var objects: UserDocument[] = new Array(intensity);
        for (var i = 0; i < objects.length; i++)
            objects[i] = { _id: crypto.pseudoRandomBytes(16).toString("hex") };

        return Bluebird.resolve().then(() => prepare(objects)).then(() => {
            var start = new Date();
            return Bluebird.resolve().then(() => run(objects)).then(() => {
                var time = new Date().valueOf() - start.valueOf();
                return time;
            });
        })
    }, { concurrency: 1 }).then(times => {
        results[name] = _.reduce(<number[]><any>times,(x, y) => x + y, 0) / times.length;
        console.log("%s: %dms", name, results[name]);
        if (compareTo) {
            if (Math.abs(results[name] - results[compareTo]) / results[compareTo] < 0.1) { }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…