-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlz4.html
46 lines (38 loc) · 1.33 KB
/
lz4.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!doctype html>
<html>
<head>
<title>lz4.js bench</title>
<script src="lz4.js"></script>
</head>
<body>
<div>
<input type="file" id="f">
<div id="result"></div>
</div>
<script>
window.onload = function () {
f.onchange = function (e) {
var fr = new FileReader;
fr.readAsArrayBuffer(e.target.files[0]);
fr.onload = function () {
var s = new Uint8Array(fr.result);
console.log('ArrayBuffer: ' + s.byteLength + ' bytes');
var start = Date.now();
var c = lz4.compress(s);
result.innerHTML += '<div>compress: ' + (Date.now() - start) + 'ms</div>';
result.innerHTML += '<div>' + c + '</div>';
console.log('compressed: ' + c.byteLength + ' bytes');
start = Date.now();
var d = lz4.decompress(c);
result.innerHTML += '<div>decompress: ' + (Date.now() - start) + 'ms</div>';
result.innerHTML += '<div>' + d + '</div>';
console.log('decompressed: ' + d.byteLength + ' bytes');
var text = new TextDecoder("utf-8").decode(d);
result.innerHTML += '<div>' + text + '</div>';
console.log('text: ' + text.length);
}
};
};
</script>
</body>
</html>