<script src="https://unpkg.com/fflate"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pako/2.0.3/pako.es5.min.js"></script>
var enc = new TextEncoder();
var a = new Uint8Array([Array(1000000).keys()]);
var b = enc.encode('The quick brown fox jumps over the lazy dog')
var ca = pako.gzip(a)
var cb = pako.gzip(b)
pako.inflate(ca)
pako.inflate(cb)
pako.deflate(a)
pako.deflate(b)
fflate.decompressSync(ca);
fflate.decompressSync(cb);
fflate.gzipSync(a)
fflate.gzipSync(b)
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
unzip pako a | |
unzip pako b | |
zip pako a | |
zip pako b | |
unzip fflate a | |
unzip fflate b | |
zip fflate a | |
zip fflate b |
Test name | Executions per second |
---|---|
unzip pako a | 270.7 Ops/sec |
unzip pako b | 56113.3 Ops/sec |
zip pako a | 113.6 Ops/sec |
zip pako b | 9347.6 Ops/sec |
unzip fflate a | 793.0 Ops/sec |
unzip fflate b | 1315427.6 Ops/sec |
zip fflate a | 90.6 Ops/sec |
zip fflate b | 24402.9 Ops/sec |
Benchmark Overview
MeasureThat.net is a website that allows users to create and run JavaScript microbenchmarks, comparing the performance of different libraries and approaches.
The provided benchmark definition and test cases measure the performance of two popular compression libraries: pako and fflate. The tests focus on compressing and decompressing data using these libraries.
What is being tested?
The benchmarks compare the following options:
Options comparison
The pros and cons of each approach are as follows:
Library usage
In the provided benchmark, pako is used for:
pako.gzip
pako.inflate
fflate is used for:
fflate.gzipSync
fflate.decompressSync
Special JS features or syntax
None of the provided benchmark code uses any special JavaScript features or syntax.
Alternatives
Other alternatives to pako and fflate include:
Each of these alternatives has its own strengths and weaknesses, and the choice of which one to use depends on specific requirements and performance needs.