Tests:
  • crc32

    AخA
     
    function crc32(s) {
      for (var t = [], i = 0; i < 256; i++) {
        for (var c = i, j = 0; j < 8; j++) {
          c = c & 1 ? 0xEDB88320 ^ c >>> 1 : c >>> 1;
        }
        t[i] = c;
      }
      for (i = -1, c = -1; ++i < s.length;) {
        c = c >>> 8 ^ t[c & 255 ^ s.charCodeAt(i)];
      }
      return ((c ^ -1) >>> 0).toString(16).toUpperCase();
    }
    crc32(Date.now())
  • adler32

    x
     
    function adler32(string) {
      const MOD_ADLER = 65521;
      let a = 1, b = 0;
      for (let i = 0; i < string.length; i++) {
        a = (a + string.charCodeAt(i)) % MOD_ADLER;
        b = (b + a) % MOD_ADLER;
      }
      return (b << 16 | a).toString(16);
    }
    adler32(Date.now())
  • fletcher32

     
    function fletcher32(data) {
      for (let i = sum1 = sum2 = 0; i < data.length; i++) {
        sum1 = (sum1 + data.charCodeAt(i)) % 65535;
        sum2 = (sum2 + sum1) % 65535;
      }
      return (sum2 << 16 | sum1).toString(16);
    }
    fletcher32(Date.now())
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    crc32
    adler32
    fletcher32

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 15 days ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Chrome 135 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
crc32 570605.5 Ops/sec
adler32 30583428.0 Ops/sec
fletcher32 6812790.5 Ops/sec