muschema
Version:
Schemas for mudb
113 lines • 3.77 kB
JavaScript
;
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