<script src="https://unpkg.com/fflate"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pako/2.1.0/pako.es5.min.js"></script>
const 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.gzip(a)
fflate.gzipSync(a)
pako.gzip(b)
fflate.gzipSync(b)
pako.ungzip(ca);
fflate.gunzipSync(ca);
pako.ungzip(cb)
fflate.gunzipSync(cb)
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
zip pako a | |
zip fflate a | |
zip pako b | |
zip fflate b | |
unzip pako a | |
unzip fflate a | |
unzip pako b | |
unzip fflate b |
Test name | Executions per second |
---|---|
zip pako a | 94.7 Ops/sec |
zip fflate a | 47.6 Ops/sec |
zip pako b | 9361.7 Ops/sec |
zip fflate b | 28818.6 Ops/sec |
unzip pako a | 226.7 Ops/sec |
unzip fflate a | 91.6 Ops/sec |
unzip pako b | 39093.1 Ops/sec |
unzip fflate b | 601134.2 Ops/sec |
Benchmark Overview
MeasureThat.net provides a platform for JavaScript microbenchmarks, allowing users to compare the performance of different libraries and approaches. In this benchmark, two popular compression libraries, pako and fflate, are compared in terms of their gzip compatible compression and decompression capabilities.
Library Overview
Test Cases
The benchmark consists of 8 test cases, which are:
a
) and a string (b
) using pako and fflate.These test cases cover two primary scenarios:
Approach Overview
The benchmark compares two approaches:
Pros and Cons
Other Considerations
When choosing between pako and fflate, consider the following factors:
Alternatives
Other popular JavaScript compression libraries include:
Ultimately, the choice between pako and fflate (or other alternatives) depends on your specific use case, performance requirements, and personal preferences.