whee
This commit is contained in:
parent
7878913dd9
commit
5e084b9a71
3 changed files with 46 additions and 30 deletions
4
Makefile
4
Makefile
|
@ -2,4 +2,6 @@ test :
|
||||||
node speci.js x-first
|
node speci.js x-first
|
||||||
node speci.js y-first
|
node speci.js y-first
|
||||||
node speci.js mixed
|
node speci.js mixed
|
||||||
node speci.js randomized
|
node speci.js rand-suffix
|
||||||
|
node speci.js rand-prefix
|
||||||
|
|
||||||
|
|
47
readme.md
47
readme.md
|
@ -9,44 +9,59 @@ handle a couple of different variants -- but this might not be true of all
|
||||||
possibilities. 256 randomized variants is linearly slower.
|
possibilities. 256 randomized variants is linearly slower.
|
||||||
|
|
||||||
```
|
```
|
||||||
% node speci.js
|
% make test
|
||||||
** x_first
|
node speci.js x-first
|
||||||
|
** x-first
|
||||||
run 1
|
run 1
|
||||||
72 ms
|
189 ms
|
||||||
|
|
||||||
run 2
|
run 2
|
||||||
15 ms
|
293 ms
|
||||||
|
|
||||||
run 3
|
run 3
|
||||||
22 ms
|
178 ms
|
||||||
|
|
||||||
** y_first
|
node speci.js y-first
|
||||||
|
** y-first
|
||||||
run 1
|
run 1
|
||||||
73 ms
|
196 ms
|
||||||
|
|
||||||
run 2
|
run 2
|
||||||
23 ms
|
175 ms
|
||||||
|
|
||||||
run 3
|
run 3
|
||||||
20 ms
|
174 ms
|
||||||
|
|
||||||
|
node speci.js mixed
|
||||||
** mixed
|
** mixed
|
||||||
run 1
|
run 1
|
||||||
2766 ms
|
732 ms
|
||||||
|
|
||||||
run 2
|
run 2
|
||||||
52 ms
|
716 ms
|
||||||
|
|
||||||
run 3
|
run 3
|
||||||
53 ms
|
912 ms
|
||||||
|
|
||||||
** randomized
|
node speci.js rand-suffix
|
||||||
|
** rand-suffix
|
||||||
run 1
|
run 1
|
||||||
464 ms
|
15596 ms
|
||||||
|
|
||||||
run 2
|
run 2
|
||||||
445 ms
|
15636 ms
|
||||||
|
|
||||||
run 3
|
run 3
|
||||||
445 ms
|
15501 ms
|
||||||
|
|
||||||
|
node speci.js rand-prefix
|
||||||
|
** rand-prefix
|
||||||
|
run 1
|
||||||
|
18896 ms
|
||||||
|
|
||||||
|
run 2
|
||||||
|
18883 ms
|
||||||
|
|
||||||
|
run 3
|
||||||
|
18784 ms
|
||||||
```
|
```
|
||||||
|
|
25
speci.js
25
speci.js
|
@ -16,25 +16,23 @@ function doit(mode) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function make_randomized(x, y) {
|
function make_rand_prefix(x, y) {
|
||||||
let rando = (Math.random() * (2 ** 32 - 1)) | 0;
|
let rando = (Math.random() * (2 ** 32 - 1)) | 0;
|
||||||
//let buckets = 256;
|
|
||||||
//random = rando % buckets;
|
|
||||||
let r = 'random' + rando;
|
let r = 'random' + rando;
|
||||||
let o = {[r]: r};
|
let o = {[r]: r, x, y};
|
||||||
if (Math.random() > 0.5) {
|
return o;
|
||||||
o.y = y;
|
}
|
||||||
o.x = x;
|
|
||||||
} else {
|
function make_rand_suffix(x, y) {
|
||||||
o.x = x;
|
let rando = (Math.random() * (2 ** 32 - 1)) | 0;
|
||||||
o.y = y;
|
let r = 'random' + rando;
|
||||||
}
|
let o = {x, y, [r]: r};
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
const million = 1000 * 1000;
|
const million = 1000 * 1000;
|
||||||
const n = 1 * million;
|
const n = 1 * million;
|
||||||
const runs = 1000 * n;
|
const runs = 100 * n;
|
||||||
|
|
||||||
function bulk(filler) {
|
function bulk(filler) {
|
||||||
let a = [];
|
let a = [];
|
||||||
|
@ -48,7 +46,8 @@ function doit(mode) {
|
||||||
'x-first': make_x_first,
|
'x-first': make_x_first,
|
||||||
'y-first': make_y_first,
|
'y-first': make_y_first,
|
||||||
'mixed': make_mixed,
|
'mixed': make_mixed,
|
||||||
'randomized': make_randomized,
|
'rand-prefix': make_rand_prefix,
|
||||||
|
'rand-suffix': make_rand_suffix,
|
||||||
};
|
};
|
||||||
let func = funcMap[mode];
|
let func = funcMap[mode];
|
||||||
if (!func) {
|
if (!func) {
|
||||||
|
|
Loading…
Reference in a new issue