Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
CompressionStream
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/6.5.6 (KasperskyOS) Chrome/112.0.5615.213 Safari/537.36
Browser:
Chrome 112
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
compress a
18.2 Ops/sec
compress b
59.1 Ops/sec
Script Preparation code:
const enc = new TextEncoder(); const dec = new TextDecoder(); const a = new Uint8Array([...Array(1000000).keys()]); const b = enc.encode('The quick brown fox jumps over the lazy dog'); // Сжатие через CompressionStream function compress(input) { const cs = new CompressionStream("deflate"); const stream = new Blob([input]).stream().pipeThrough(cs); return new Response(stream).arrayBuffer().then(buf => new Uint8Array(buf)); } // Распаковка через DecompressionStream function decompress(input) { const ds = new DecompressionStream("deflate"); const stream = new Blob([input]).stream().pipeThrough(ds); return new Response(stream).arrayBuffer().then(buf => new Uint8Array(buf)); }
Tests:
compress a
compress(a).then(ca => { console.log("Compressed A (length):", ca.length); decompress(ca).then(ua => { const equal = ua.length === a.length && ua.every((v, i) => v === a[i]); console.log("Decompressed A equals original:", equal); }); });
compress b
compress(b).then(cb => { console.log("Compressed B (length):", cb.length); decompress(cb).then(ub => { console.log("Decompressed B:", dec.decode(ub)); }); });