You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the Hash class has abysmal performance when compared to other CRC32 algorithms. Looking at our options here, here and here, it's clear that there's a lot of improvements which could be made. Read the table below to see how we compare (Ignore the differences in the result as the comparison uses the iSCSI/Castagnoli polynomial where as we use the Ethernet/ZIP one).
Option
Result
Performance
Naive - CPP
0xA0B96C51
147.0 MB/s = 0.29 bits/cycle
Tabular - 1 byte
0xA0B96C51
556.6 MB/s = 1.11 bits/cycle
Robot - Hash
0x1D75653D
561.1 MB/s = 1.12 bits/cycle
Tabular - 2 bytes
0xA0B96C51
795.3 MB/s = 1.59 bits/cycle
Hardware - 1 byte
0xA0B96C51
1324.1 MB/s = 2.65 bits/cycle
Tabular - 4 bytes
0xA0B96C51
1369.0 MB/s = 2.74 bits/cycle
Tabular - 8 bytes
0xA0B96C51
2416.1 MB/s = 4.83 bits/cycle
Checksums - AWS
0x1D75653D
2682.3 MB/s = 5.36 bits/cycle
Tabular - 16 bytes
0xA0B96C51
4011.5 MB/s = 8.02 bits/cycle
Hardware - 8 bytes
0xA0B96C51
10538.0 MB/s = 21.08 bits/cycle
Golden - AMD
0xA0B96C51
19564.9 MB/s = 39.13 bits/cycle
Golden - Intel
0xA0B96C51
30507.4 MB/s = 61.01 bits/cycle
The text was updated successfully, but these errors were encountered:
Currently, the Hash class has abysmal performance when compared to other CRC32 algorithms. Looking at our options here, here and here, it's clear that there's a lot of improvements which could be made. Read the table below to see how we compare (Ignore the differences in the result as the comparison uses the iSCSI/Castagnoli polynomial where as we use the Ethernet/ZIP one).
The text was updated successfully, but these errors were encountered: