⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact af3bda58bfb66fa9ddfd71b90b92a04f6aa568535e0471d3236f40d0f9ae7fc5:


0000: 69 6d 70 6f 72 74 20 6a 73 6f 6e 55 72 6c 20 66  import jsonUrl f
0010: 72 6f 6d 20 27 6d 61 69 6e 2f 69 6e 64 65 78 2e  rom 'main/index.
0020: 6a 73 27 3b 0a 69 6d 70 6f 72 74 20 73 61 6d 70  js';.import samp
0030: 6c 65 73 20 66 72 6f 6d 20 27 2e 2f 73 61 6d 70  les from './samp
0040: 6c 65 73 2e 6a 73 6f 6e 27 3b 0a 69 6d 70 6f 72  les.json';.impor
0050: 74 20 41 4c 47 4f 52 49 54 48 4d 53 20 66 72 6f  t ALGORITHMS fro
0060: 6d 20 27 6d 61 69 6e 2f 63 6f 6d 70 72 65 73 73  m 'main/compress
0070: 27 3b 0a 0a 63 6f 6e 73 74 20 61 6c 67 6f 72 69  ';..const algori
0080: 74 68 6d 73 20 3d 20 4f 62 6a 65 63 74 2e 6b 65  thms = Object.ke
0090: 79 73 28 41 4c 47 4f 52 49 54 48 4d 53 29 3b 0a  ys(ALGORITHMS);.
00a0: 0a 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20  .async function 
00b0: 6d 61 69 6e 28 29 20 7b 0a 0a 09 63 6f 6e 73 74  main() {...const
00c0: 20 72 65 73 75 6c 74 73 20 3d 20 6e 65 77 20 41   results = new A
00d0: 72 72 61 79 28 73 61 6d 70 6c 65 73 2e 6c 65 6e  rray(samples.len
00e0: 67 74 68 29 3b 0a 0a 09 66 6f 72 20 28 63 6f 6e  gth);...for (con
00f0: 73 74 20 61 6c 67 6f 72 69 74 68 6d 20 6f 66 20  st algorithm of 
0100: 61 6c 67 6f 72 69 74 68 6d 73 29 20 7b 0a 09 09  algorithms) {...
0110: 63 6f 6e 73 74 20 6c 69 62 20 3d 20 6a 73 6f 6e  const lib = json
0120: 55 72 6c 28 61 6c 67 6f 72 69 74 68 6d 29 3b 0a  Url(algorithm);.
0130: 09 09 6c 65 74 20 63 6f 75 6e 74 65 72 20 3d 20  ..let counter = 
0140: 30 3b 0a 09 09 66 6f 72 20 28 63 6f 6e 73 74 20  0;...for (const 
0150: 64 61 74 75 6d 20 6f 66 20 73 61 6d 70 6c 65 73  datum of samples
0160: 29 20 7b 0a 09 09 09 63 6f 6e 73 74 20 7b 20 72  ) {....const { r
0170: 61 77 2c 20 72 61 77 65 6e 63 6f 64 65 64 2c 20  aw, rawencoded, 
0180: 63 6f 6d 70 72 65 73 73 65 64 65 6e 63 6f 64 65  compressedencode
0190: 64 2c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 7d  d, compression }
01a0: 20 3d 20 61 77 61 69 74 20 6c 69 62 2e 73 74 61   = await lib.sta
01b0: 74 73 28 64 61 74 75 6d 29 3b 0a 09 09 09 72 65  ts(datum);....re
01c0: 73 75 6c 74 73 5b 63 6f 75 6e 74 65 72 5d 20 3d  sults[counter] =
01d0: 20 72 65 73 75 6c 74 73 5b 63 6f 75 6e 74 65 72   results[counter
01e0: 5d 20 7c 7c 20 7b 7d 3b 0a 09 09 09 72 65 73 75  ] || {};....resu
01f0: 6c 74 73 5b 63 6f 75 6e 74 65 72 5d 2e 72 61 77  lts[counter].raw
0200: 20 3d 20 72 61 77 3b 0a 09 09 09 72 65 73 75 6c   = raw;....resul
0210: 74 73 5b 63 6f 75 6e 74 65 72 5d 2e 72 61 77 65  ts[counter].rawe
0220: 6e 63 6f 64 65 64 20 3d 20 72 61 77 65 6e 63 6f  ncoded = rawenco
0230: 64 65 64 3b 0a 09 09 09 72 65 73 75 6c 74 73 5b  ded;....results[
0240: 63 6f 75 6e 74 65 72 5d 5b 61 6c 67 6f 72 69 74  counter][algorit
0250: 68 6d 5d 20 3d 20 7b 0a 09 09 09 09 72 61 74 69  hm] = {.....rati
0260: 6f 3a 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 0a  o: compression,.
0270: 09 09 09 09 63 6f 6d 70 72 65 73 73 65 64 3a 20  ....compressed: 
0280: 63 6f 6d 70 72 65 73 73 65 64 65 6e 63 6f 64 65  compressedencode
0290: 64 0a 09 09 09 7d 3b 0a 09 09 09 63 6f 75 6e 74  d....};....count
02a0: 65 72 20 2b 3d 20 31 3b 0a 09 09 7d 0a 09 7d 0a  er += 1;...}..}.
02b0: 0a 09 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 4a 53  ..console.log(JS
02c0: 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 72 65 73  ON.stringify(res
02d0: 75 6c 74 73 2c 20 6e 75 6c 6c 2c 20 32 29 29 3b  ults, null, 2));
02e0: 0a 7d 0a 0a 6d 61 69 6e 28 29 3b                 .}..main();