HTML Preparation code:
AخA
 
1
<script src="https://cdn.jsdelivr.net/npm/zlibjs@0.3.1/bin/rawdeflate.min.js"></script>
2
<script src="https://cdn.jsdelivr.net/npm/zlibjs@0.3.1/bin/rawinflate.min.js"></script>
Script Preparation code:
x
 
var enc = new TextEncoder();
var a = new Uint8Array([100 * 1024]);
for (var i; i < 100 * 1024; i++)
    a[i] = Math.floor(Math.random() * 256)
    
var deflate = new Zlib.RawDeflate(a);
var ca = deflate.compress();
var a1M = new Uint8Array([1024 * 1024]);
for (var i; i < 1024 * 1024; i++)
    a1M[i] = Math.floor(Math.random() * 256)
    
var deflate = new Zlib.RawDeflate(a1M);
var ca1M = deflate.compress();
var a5M = new Uint8Array([5 *1024 * 1024]);
for (var i; i < 5 *1024 * 1024; i++)
    a5M[i] = Math.floor(Math.random() * 256)
var deflate = new Zlib.RawDeflate(a5M);
var ca5M = deflate.compress();
var a10M = new Uint8Array([10* 1024 * 1024]);
for (var i; i < 10* 1024 * 1024; i++)
    a10M[i] = Math.floor(Math.random() * 256)
var deflate = new Zlib.RawDeflate(a10M);
var ca10M = deflate.compress();
Tests:
  • Default

     
    var inflate = new Zlib.RawInflate(ca);
    var plain = inflate.decompress();
  • Block Size 512

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 512
    });
    var plain = inflate.decompress();
  • 1M / Block Size 512

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 512
    });
    var plain = inflate.decompress();
  • 5M / Block Size 512

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 512                                  
    });
    var plain = inflate.decompress();
  • 10M / Block Size 512

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 512                                  
    });
    var plain = inflate.decompress();
  • Block Size 1024

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 1024
    });
    var plain = inflate.decompress();
  • 1M / Block Size 1024

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 1024
    });
    var plain = inflate.decompress();
  • 10M / Block Size 128

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 128                                  
    });
    var plain = inflate.decompress();
  • 5M / Block Size 1024

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 1024                                  
    });
    var plain = inflate.decompress();
  • Block Size 2048

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 2048
    });
    var plain = inflate.decompress();
  • 1M / Block Size 2048

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 2048
    });
    var plain = inflate.decompress();
  • 5M / Block Size 2048

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 2048                                  
    });
    var plain = inflate.decompress();
  • 10M / Block Size 2048

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 2048                                  
    });
    var plain = inflate.decompress();
  • Block Size 4096

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 4906
    });
    var plain = inflate.decompress();
  • 1M / Block Size 4096

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 4096
    });
    var plain = inflate.decompress();
  • 10M / Block Size 1024

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 1024                                  
    });
    var plain = inflate.decompress();
  • 5M / Block Size 128

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 128                                  
    });
    var plain = inflate.decompress();
  • 1M / Block Size 128

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 128
    });
    var plain = inflate.decompress();
  • Block Size 128

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 128
    });
    var plain = inflate.decompress();
  • 1M / Default

     
    var inflate = new Zlib.RawInflate(ca1M);
    var plain = inflate.decompress();
  • 5M / Default

     
    var inflate = new Zlib.RawInflate(ca5M);
    var plain = inflate.decompress();
  • 10M / Default

     
    var inflate = new Zlib.RawInflate(ca10M);
    var plain = inflate.decompress();
  • Block Size 16

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 16                                 
    });
    var plain = inflate.decompress();
  • 1M /Block Size 16

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 16                                  
    });
    var plain = inflate.decompress();
  • 5M /Block Size 16

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 16                                  
    });
    var plain = inflate.decompress();
  • 10M /Block Size 16

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 16                                  
    });
    var plain = inflate.decompress();
  • Block Size 32

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 32                                  
    });
    var plain = inflate.decompress();
  • 1M / Block Size 32

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 32                                  
    });
    var plain = inflate.decompress();
  • 5M / Block Size 32

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 32                                  
    });
    var plain = inflate.decompress();
  • 10M / Block Size 32

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 32                                  
    });
    var plain = inflate.decompress();
  • Block Size 64

     
    var inflate = new Zlib.RawInflate(ca,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 64
    });
    var plain = inflate.decompress();
  • 1M / Block Size 64

     
    var inflate = new Zlib.RawInflate(ca1M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 64
    });
    var plain = inflate.decompress();
  • 5M / Block Size 64

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 64                                  
    });
    var plain = inflate.decompress();
  • 10M / Block Size 64

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 64                                  
    });
    var plain = inflate.decompress();
  • 5M / Block Size 4096

     
    var inflate = new Zlib.RawInflate(ca5M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 4096                                  
    });
    var plain = inflate.decompress();
  • 10M / Block Size 4096

     
    var inflate = new Zlib.RawInflate(ca10M,{
      bufferType : Zlib.RawInflate.BufferType.BLOCK,
      bufferSize : 4096                                  
    });
    var plain = inflate.decompress();
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Default
    Block Size 512
    1M / Block Size 512
    5M / Block Size 512
    10M / Block Size 512
    Block Size 1024
    1M / Block Size 1024
    10M / Block Size 128
    5M / Block Size 1024
    Block Size 2048
    1M / Block Size 2048
    5M / Block Size 2048
    10M / Block Size 2048
    Block Size 4096
    1M / Block Size 4096
    10M / Block Size 1024
    5M / Block Size 128
    1M / Block Size 128
    Block Size 128
    1M / Default
    5M / Default
    10M / Default
    Block Size 16
    1M /Block Size 16
    5M /Block Size 16
    10M /Block Size 16
    Block Size 32
    1M / Block Size 32
    5M / Block Size 32
    10M / Block Size 32
    Block Size 64
    1M / Block Size 64
    5M / Block Size 64
    10M / Block Size 64
    5M / Block Size 4096
    10M / Block Size 4096

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36
Chrome Mobile 114 on Android
View result in a separate tab
Test name Executions per second
Default 22655.4 Ops/sec
5M / Default 22159.0 Ops/sec
10M / Default 22808.7 Ops/sec
Block Size 16 40513.6 Ops/sec
1M /Block Size 16 39789.7 Ops/sec
5M /Block Size 16 40005.5 Ops/sec
10M /Block Size 16 39648.4 Ops/sec
1M / Default 22101.1 Ops/sec
Block Size 32 40037.3 Ops/sec
5M / Block Size 32 40001.5 Ops/sec
10M / Block Size 32 39605.3 Ops/sec
Block Size 64 39577.1 Ops/sec
1M / Block Size 64 39169.5 Ops/sec
5M / Block Size 64 39386.5 Ops/sec
10M / Block Size 64 38433.9 Ops/sec
1M / Block Size 32 39687.3 Ops/sec
Block Size 128 38262.6 Ops/sec
1M / Block Size 128 37649.0 Ops/sec
5M / Block Size 128 38153.5 Ops/sec
Block Size 512 37391.6 Ops/sec
1M / Block Size 512 37580.4 Ops/sec
5M / Block Size 512 37017.3 Ops/sec
10M / Block Size 512 37364.4 Ops/sec
Block Size 1024 35530.6 Ops/sec
1M / Block Size 1024 36061.6 Ops/sec
10M / Block Size 128 38290.1 Ops/sec
5M / Block Size 1024 36097.6 Ops/sec
Block Size 2048 33619.6 Ops/sec
1M / Block Size 2048 33209.3 Ops/sec
5M / Block Size 2048 33228.4 Ops/sec
10M / Block Size 2048 33013.9 Ops/sec
Block Size 4096 30422.9 Ops/sec
1M / Block Size 4096 29215.9 Ops/sec
10M / Block Size 1024 35873.6 Ops/sec
5M / Block Size 4096 30565.0 Ops/sec
10M / Block Size 4096 30251.6 Ops/sec