crc icon indicating copy to clipboard operation
crc copied to clipboard

📚 Design Goals and Performance FAQ(s)

Open Nicoretti opened this issue 1 year ago • 2 comments

Summary

Design goals have been mentioned across various issues:

It would be beneficial to create a concise section detailing these design goals or a brief FAQ entry. Additionally, a specific entry regarding performance should be included. This should also provide links to more performant alternatives, such as the zlib module and fastcrc.

Details

Adding this documentation will provide users with a clearer understanding of the design intentions. It will also help users make informed choices if performance is a key consideration, by directing them to potential alternatives.

References

Nicoretti avatar Nov 14 '24 21:11 Nicoretti

I did a small benchmark between this lib and crcmod (uses C extensions) and fastcrc (wraps Rust library):

spacepackets-py/benchmarks/crc on  crc-benchmarking [$!] via 🐍 v3.12.3 (venv)
❯ ./crc_benchmark.py
crc lib: 0.795146 seconds
crcmod lib: 0.002420 seconds
fastcrc lib: 0.002175 seconds

maybe it helps.. source code can be found here: https://github.com/us-irs/spacepackets-py/tree/main/benchmarks/crc

robamu avatar Jul 11 '25 12:07 robamu

Hi @robamu,

thanks for providing additional insights on this 👍 , and sorry for the response delay 😅 .

best Nico

Nicoretti avatar Aug 07 '25 03:08 Nicoretti