Zur Performance:
man kann immer eine Implementation machen die schneller ist, die weniger Resourcen benötigt oder die statt in Pascal-Assembler in C/Basic etc. gecodet ist.
Bei meiner CRC
Unit habe ich einen Kompromiss aus Performance, Speicherverbrauch und Universalität gesetzt. Wobei die Performance nur drittrangig war. Allerdings sind meine CRC Implementierungen meistens schneller als die vielen anderen CRC Implementationen für PASCAL. Aber es geht definitiv noch schneller.
An Speicher/Code verbraucht sie zwischen 728 und max. 952 Bytes im Codesegment. Datensegement wird meistens garkeines benötigt. Man kann also diese CRC Funktionen für sehr kleine EXE-Packer-Stubs benutzen, eines meiner eigenen Anwendungsziele. Während der Laufzeit wird meistens nur Stack konsumiert, ca. SizeOf(TCRCDef) Bytes.
Gruß Hagen