Juha Manninen wrote:
Ok, thanks. This is yet another topic I should learn about.

Tony, I don't believe pycrc can generate much faster functions than
ours unless it uses SIMD.
Our function works well but it is called so ofter that its speed is relevant.

Mark, I promise to study the algorithms but changing our algorith is
not an option now. We want the same but faster.
Maybe loop unrolling can make it little faster but nothing compared to
a SIMD version of course.

My point was to take a look at the ones in the library, and see if one matches and if so whether it's faster (and then work out why). However I'm a bit dubious about your and $00FFFFFF operation which I suspect makes your implementation non-standard.

Loop unrolling may be an option, as might making sure that FPC is compiling the CRC generator with the best possible set of options. Using a thread probably isn't unless the buffers are large and you've got other useful work to do in parallel.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to