md5performancetest.pas 686 B

1234567891011121314151617181920212223242526272829303132
  1. program md5performancetest;
  2. {$mode objfpc}{$H+}
  3. uses
  4. {$IFDEF UNIX}
  5. cwstring,
  6. {$IFDEF UseCThreads}
  7. cthreads,
  8. {$ENDIF}
  9. {$ENDIF}
  10. SysUtils,Classes,md5,dateutils;
  11. var
  12. StartTime: TDateTime;
  13. EndTime: TDateTime;
  14. i: integer;
  15. s,ss: RawByteString;
  16. begin
  17. writeln('MD5 of a million "a" symbols');
  18. Writeln('x86 only: compile md5 unit with -dMD5SLOW to use unoptimized original version');
  19. SetLength(s, 1000000);
  20. for i := 1 to 1000000 do s[i] := 'a';
  21. StartTime:=now;
  22. for i := 0 to 1000 do
  23. ss := LowerCase(MDPrint(MDString(s, MD_VERSION_5)));
  24. EndTime:=now;
  25. writeln('Performance test finished. Elapsed time:');
  26. writeln(TimeToStr(EndTime-StartTime));
  27. end.