-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
Description
I use the module with the following configuration.
crc.CrcCalculator(
crc.Configuration(
width=16,
polynomial=0x8005,
init_value=0x0000,
final_xor_value=0,
reverse_input=True,
reverse_output=False
),
table_based=True
)Performance when crunching big payloads was in the range that I expected.
But while profiling other code I noticed that a vast amount of time was spent simply reversing the input bytes.
I now use the module without reversed_input and reverse the input externally (bytes.translate) which I propose should be done inside the library when running in Table Based Mode, as the memory overhead is negligible, but leads to a 45% speedup in my setup.
Alternatively I think one could transpose the whole lookup table when working with reversed input to get even better performance.
Greetings to the maintainers of this very helpful package.
Nicoretti