12345678910111213141516171819202122232425262728293031323334 |
- program md5performancetest;
- {$mode objfpc}{$H+}
- uses
- {$IFDEF UNIX}
- cwstring,
- {$IFDEF UseCThreads}
- cthreads,
- {$ENDIF}
- {$ENDIF}
- SysUtils,Classes,md5,dateutils;
- var
- StartTime: TDateTime;
- EndTime: TDateTime;
- i: integer;
- TimeTaken: string;
- s,ss: RawByteString;
- begin
- writeln('MD5 of a million "a" symbols');
- Writeln('x86 only: compile md5 unit with -dMD5SLOW to use unoptimized original version');
- SetLength(s, 1000000);
- for i := 1 to 1000000 do s[i] := 'a';
- StartTime:=now;
- for i := 0 to 1000 do
- ss := LowerCase(MDPrint(MDString(s, MD_VERSION_5)));
- EndTime:=now;
- writeln('Performance test finished. Elapsed time:');
- DateTimeToString(TimeTaken, 'S.ZZ', EndTime-StartTime);
- WriteLn('Average time taken = ', TimeTaken, ' ms');
- end.
|