ChangeLog.md in digest-crc-0.5.1 vs ChangeLog.md in digest-crc-0.6.0.rc1

- old
+ new

@@ -1,4 +1,73 @@ +### 0.6.0 / 2020-06-16 + +* Implement _optional_ C extensions for all CRC algorithms, resulting in an + average performance improvement of ~40x. Note, if for whatever reason the + C extensions cannot be compiled, they will be skipped and the pure-Ruby + CRC algorithms will be used instead. If the C extensions were successfully + compiled, then they will be loaded and override the pure-Ruby CRC methods with + the C equivalents. + +#### Pure Ruby + + user system total real + Digest::CRC1#update 0.412953 0.000000 0.412953 ( 0.414688) + Digest::CRC5#update 1.116375 0.000003 1.116378 ( 1.120741) + Digest::CRC8#update 0.994263 0.000013 0.994276 ( 1.001079) + Digest::CRC8_1Wire#update 0.974115 0.000004 0.974119 ( 0.978186) + Digest::CRC15#update 1.139402 0.000927 1.140329 ( 1.146608) + Digest::CRC16#update 0.967836 0.000000 0.967836 ( 0.971792) + Digest::CRC16CCITT#update 1.118851 0.000000 1.118851 ( 1.123217) + Digest::CRC16DNP#update 0.922211 0.000000 0.922211 ( 0.925739) + Digest::CRC16Genibus#update 1.120580 0.000000 1.120580 ( 1.124771) + Digest::CRC16Modbus#update 0.955612 0.000000 0.955612 ( 0.959463) + Digest::CRC16QT#update 8.153403 0.000012 8.153415 ( 8.189977) + Digest::CRC16USB#update 0.952557 0.000000 0.952557 ( 0.956145) + Digest::CRC16X25#update 0.962295 0.000000 0.962295 ( 0.970401) + Digest::CRC16XModem#update 1.120531 0.000000 1.120531 ( 1.124494) + Digest::CRC16ZModem#update 1.124226 0.000000 1.124226 ( 1.128632) + Digest::CRC24#update 1.126317 0.000000 1.126317 ( 1.130794) + Digest::CRC32#update 0.960015 0.000000 0.960015 ( 0.964803) + Digest::CRC32BZip2#update 1.128626 0.000000 1.128626 ( 1.133641) + Digest::CRC32c#update 0.964047 0.000000 0.964047 ( 0.967456) + Digest::CRC32Jam#update 0.959141 0.000972 0.960113 ( 0.967444) + Digest::CRC32MPEG#update 1.131119 0.000002 1.131121 ( 1.137440) + Digest::CRC32POSIX#update 1.126019 0.000000 1.126019 ( 1.130549) + Digest::CRC32XFER#update 1.116598 0.000000 1.116598 ( 1.120595) + Digest::CRC64#update 2.665880 0.000928 2.666808 ( 2.680942) + Digest::CRC64Jones#update 2.678003 0.000000 2.678003 ( 2.691390) + Digest::CRC64XZ#update 2.671395 0.000000 2.671395 ( 2.682684) + +#### C extensions + + user system total real + Digest::CRC1#update 0.407438 0.000000 0.407438 ( 0.410495) + Digest::CRC5#update 0.022873 0.000000 0.022873 ( 0.023796) + Digest::CRC8#update 0.020129 0.000000 0.020129 ( 0.020887) + Digest::CRC8_1Wire#update 0.020106 0.000000 0.020106 ( 0.020897) + Digest::CRC15#update 0.028765 0.000003 0.028768 ( 0.029549) + Digest::CRC16#update 0.022176 0.000856 0.023032 ( 0.023153) + Digest::CRC16CCITT#update 0.028570 0.000000 0.028570 ( 0.028691) + Digest::CRC16DNP#update 0.023240 0.000001 0.023241 ( 0.024008) + Digest::CRC16Genibus#update 0.028692 0.000000 0.028692 ( 0.029575) + Digest::CRC16Modbus#update 0.023928 0.000000 0.023928 ( 0.024859) + Digest::CRC16QT#update 7.965822 0.000968 7.966790 ( 8.001781) + Digest::CRC16USB#update 0.023448 0.000001 0.023449 ( 0.024420) + Digest::CRC16X25#update 0.023061 0.000000 0.023061 ( 0.023861) + Digest::CRC16XModem#update 0.029407 0.000000 0.029407 ( 0.030583) + Digest::CRC16ZModem#update 0.029522 0.000000 0.029522 ( 0.030438) + Digest::CRC24#update 0.029528 0.000000 0.029528 ( 0.030504) + Digest::CRC32#update 0.023306 0.000000 0.023306 ( 0.024278) + Digest::CRC32BZip2#update 0.026346 0.000000 0.026346 ( 0.027293) + Digest::CRC32c#update 0.023525 0.000000 0.023525 ( 0.024489) + Digest::CRC32Jam#update 0.023348 0.000000 0.023348 ( 0.023477) + Digest::CRC32MPEG#update 0.026287 0.000000 0.026287 ( 0.027394) + Digest::CRC32POSIX#update 0.026063 0.000000 0.026063 ( 0.026986) + Digest::CRC32XFER#update 0.026374 0.000000 0.026374 ( 0.027314) + Digest::CRC64#update 0.023523 0.000000 0.023523 ( 0.024484) + Digest::CRC64Jones#update 0.023479 0.000000 0.023479 ( 0.024432) + Digest::CRC64XZ#update 0.024146 0.000000 0.024146 ( 0.025129) + ### 0.5.1 / 2020-03-03 * Fixed XOR logic in {Digest::CRC16Genibus}. * Freeze all `TABLE` constants. * Added missing documentation.