12345678910111213141516171819202122232425262728293031323334 |
- program sha256performancetest;
- {$mode objfpc}{$H+}
- uses
- {$IFDEF UNIX}{$IFDEF UseCThreads}
- cthreads,
- {$ENDIF}{$ENDIF}
- SysUtils,Classes,fpsha256;
- var
- StartTime: TDateTime;
- EndTime: TDateTime;
- i: integer;
- s,ss: AnsiString;
- SB : TBytes;
- begin
- writeln('SHA256 of a million "a" symbols');
- Writeln('compile fpsha256 unit with -dSHA256PASCAL to use generic pascal implementation');
- SetLength(s, 1000000);
- for i := 1 to 1000000 do s[i] := 'a';
- SB:=TEncoding.UTF8.GetAnsiBytes(S);
- StartTime:=now;
- for i := 0 to 1000 do
- begin
- TSHA256.DigestHexa(SB, ss);
- ss := LowerCase(ss);
- end;
- EndTime:=now;
- writeln('SHA256: ',ss);
- write('Performance test finished. Elapsed time: ');
- writeln((EndTime-StartTime)*3600*24:0:3,' s');
- end.
|