UNPKG

muschema

Version:
113 lines 3.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var __1 = require("../"); var gendata_1 = require("./gendata"); console.log('---------- sorted array ----------'); console.log('100Kx targets with 10 elements'); var schema = new __1.MuSortedArray(new __1.MuUint32()); var evens = new Array(10); for (var i = 0; i < evens.length; ++i) { evens[i] = i << 1; } var outs = gendata_1.createWriteStreams(1e5); console.time('with the exact same elements'); for (var i = 0; i < 1e5; ++i) { schema.diff(evens, evens, outs[i]); } console.timeEnd('with the exact same elements'); var oddsEvens = evens.slice(); for (var i = 1; i < oddsEvens.length; i += 2) { --oddsEvens[i]; } outs = gendata_1.createWriteStreams(1e5); console.time('sharing some common elements'); for (var i = 0; i < 1e5; ++i) { schema.diff(evens, oddsEvens, outs[i]); } console.timeEnd('sharing some common elements'); var odds = evens.slice(); for (var i = 0; i < odds.length; ++i) { ++odds[i]; } var meanContentBytes = gendata_1.calcContentBytes(outs); outs = gendata_1.createWriteStreams(1e5); console.time('with totally different elements'); for (var i = 0; i < 1e5; ++i) { schema.diff(evens, odds, outs[i]); } console.timeEnd('with totally different elements'); console.log("using " + meanContentBytes + " bytes"); console.log('1Kx targets with 1K elements'); evens = new Array(1e3); for (var i = 0; i < evens.length; ++i) { evens[i] = i << 1; } outs = gendata_1.createWriteStreams(1e3); console.time('with the exact same elements'); for (var i = 0; i < 1e3; ++i) { schema.diff(evens, evens, outs[i]); } console.timeEnd('with the exact same elements'); oddsEvens = evens.slice(); for (var i = 1; i < oddsEvens.length; i += 2) { --oddsEvens[i]; } outs = gendata_1.createWriteStreams(1e3); console.time('sharing some common elements'); for (var i = 0; i < 1e3; ++i) { schema.diff(evens, oddsEvens, outs[i]); } console.timeEnd('sharing some common elements'); odds = evens.slice(); for (var i = 0; i < odds.length; ++i) { ++odds[i]; } meanContentBytes = gendata_1.calcContentBytes(outs); outs = gendata_1.createWriteStreams(1e3); console.time('with totally different elements'); for (var i = 0; i < 1e3; ++i) { schema.diff(evens, odds, outs[i]); } console.timeEnd('with totally different elements'); console.log("using " + meanContentBytes + " bytes"); console.log('10x targets with 100K elements'); evens = new Array(1e5); for (var i = 0; i < evens.length; ++i) { evens[i] = i << 1; } outs = gendata_1.createWriteStreams(10); console.time('with the exact same elements'); for (var i = 0; i < 10; ++i) { schema.diff(evens, evens, outs[i]); } console.timeEnd('with the exact same elements'); oddsEvens = evens.slice(); for (var i = 1; i < oddsEvens.length; i += 2) { --oddsEvens[i]; } outs = gendata_1.createWriteStreams(10); console.time('sharing some common elements'); for (var i = 0; i < 10; ++i) { schema.diff(evens, oddsEvens, outs[i]); } console.timeEnd('sharing some common elements'); odds = evens.slice(); for (var i = 0; i < odds.length; ++i) { ++odds[i]; } meanContentBytes = gendata_1.calcContentBytes(outs); outs = gendata_1.createWriteStreams(10); console.time('with totally different elements'); for (var i = 0; i < 10; ++i) { schema.diff(evens, odds, outs[i]); } console.timeEnd('with totally different elements'); console.log('10x different lengths'); outs = gendata_1.createWriteStreams(10); console.time('diff short sorted array against long sorted array'); for (var i = 0; i < 10; ++i) { schema.diff(evens, evens, outs[i]); } console.timeEnd('diff short sorted array against long sorted array'); console.log("using " + meanContentBytes + " bytes"); //# sourceMappingURL=sorted.js.map