Chorba: A novel CRC32 implementation (2024)

18 points7 comments2 days ago
Retr0id

This repo's readme gives a great overview of the previous-best approaches (as of ~6 years ago): https://github.com/komrad36/CRC

omoikane

What are the units on the vertical axes for figures 1 and 2? I might have guessed seconds per TiB but the braiding line doesn't seem to match what's in figure 3.

fnands

News to me, but a guy named Sam Russell came up with a new software only CRC32 algorithm that is competitive with hardware accelerated implementations. It's a surprisingly elegant solution.

ranger_danger

> Dedication

> This implementation is named after the Serbian singer Bora Đorđević (also known as Bora Čorba) who was born in 1952 and died in 2024. His birth year matches the number of the GZIP standard RFC 1952 that describes a common CRC32 implementation, and the original proof of concept for this method used the polynomial x21 +x15 + x14 + x11 + x10 + x7 + x3 which is x1952×8 mod G(x).

That is indeed dedication.

david-gpu

In Spain, "chorba" is very informal slang for "gal" [0]. Not vulgar, just very informal vernacular.

[0] https://dle.rae.es/chorbo

show comments