Skip to content

Commit 79ff5d4

Browse files
committed
2 parents 0ec1a71 + ea6ab8d commit 79ff5d4

73 files changed

Lines changed: 17581 additions & 6452 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

HashLib.Benchmark/Delphi/PerformanceBenchmarkConsole.dpr

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ uses
1717
HlpHMACNotBuildInAdapter in '..\..\HashLib\src\Base\HlpHMACNotBuildInAdapter.pas',
1818
HlpMultipleTransformNonBlock in '..\..\HashLib\src\Base\HlpMultipleTransformNonBlock.pas',
1919
HlpAdler32 in '..\..\HashLib\src\Checksum\HlpAdler32.pas',
20+
HlpAdler32Dispatch in '..\..\HashLib\src\Checksum\HlpAdler32Dispatch.pas',
2021
HlpCRC in '..\..\HashLib\src\Checksum\HlpCRC.pas',
22+
HlpCRCDispatch in '..\..\HashLib\src\Checksum\HlpCRCDispatch.pas',
23+
HlpGF2 in '..\..\HashLib\src\Checksum\HlpGF2.pas',
2124
HlpCRC16 in '..\..\HashLib\src\Checksum\HlpCRC16.pas',
2225
HlpCRC32 in '..\..\HashLib\src\Checksum\HlpCRC32.pas',
2326
HlpCRC32Fast in '..\..\HashLib\src\Checksum\HlpCRC32Fast.pas',
@@ -41,21 +44,27 @@ uses
4144
HlpRIPEMD320 in '..\..\HashLib\src\Crypto\HlpRIPEMD320.pas',
4245
HlpSHA0 in '..\..\HashLib\src\Crypto\HlpSHA0.pas',
4346
HlpSHA1 in '..\..\HashLib\src\Crypto\HlpSHA1.pas',
47+
HlpSHA1Dispatch in '..\..\HashLib\src\Crypto\HlpSHA1Dispatch.pas',
4448
HlpSHA2_224 in '..\..\HashLib\src\Crypto\HlpSHA2_224.pas',
4549
HlpSHA2_256 in '..\..\HashLib\src\Crypto\HlpSHA2_256.pas',
50+
HlpSHA2_256Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_256Dispatch.pas',
51+
HlpSHA2_512Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_512Dispatch.pas',
4652
HlpSHA2_256Base in '..\..\HashLib\src\Crypto\HlpSHA2_256Base.pas',
4753
HlpSHA2_384 in '..\..\HashLib\src\Crypto\HlpSHA2_384.pas',
4854
HlpSHA2_512 in '..\..\HashLib\src\Crypto\HlpSHA2_512.pas',
4955
HlpSHA2_512_224 in '..\..\HashLib\src\Crypto\HlpSHA2_512_224.pas',
5056
HlpSHA2_512_256 in '..\..\HashLib\src\Crypto\HlpSHA2_512_256.pas',
5157
HlpSHA2_512Base in '..\..\HashLib\src\Crypto\HlpSHA2_512Base.pas',
58+
HlpSHA3Dispatch in '..\..\HashLib\src\Crypto\HlpSHA3Dispatch.pas',
5259
HlpSHA3 in '..\..\HashLib\src\Crypto\HlpSHA3.pas',
5360
HlpSnefru in '..\..\HashLib\src\Crypto\HlpSnefru.pas',
5461
HlpTiger in '..\..\HashLib\src\Crypto\HlpTiger.pas',
5562
HlpTiger2 in '..\..\HashLib\src\Crypto\HlpTiger2.pas',
5663
HlpWhirlPool in '..\..\HashLib\src\Crypto\HlpWhirlPool.pas',
5764
HlpGOST3411_2012 in '..\..\HashLib\src\Crypto\HlpGOST3411_2012.pas',
65+
HlpBlake2BDispatch in '..\..\HashLib\src\Crypto\HlpBlake2BDispatch.pas',
5866
HlpBlake2B in '..\..\HashLib\src\Crypto\HlpBlake2B.pas',
67+
HlpBlake2SDispatch in '..\..\HashLib\src\Crypto\HlpBlake2SDispatch.pas',
5968
HlpBlake2S in '..\..\HashLib\src\Crypto\HlpBlake2S.pas',
6069
HlpBlake2BParams in '..\..\HashLib\src\Crypto\Blake2BParams\HlpBlake2BParams.pas',
6170
HlpBlake2SParams in '..\..\HashLib\src\Crypto\Blake2SParams\HlpBlake2SParams.pas',
@@ -101,42 +110,32 @@ uses
101110
HlpIBlake2SParams in '..\..\HashLib\src\Interfaces\IBlake2SParams\HlpIBlake2SParams.pas',
102111
HlpBlake2BP in '..\..\HashLib\src\Crypto\HlpBlake2BP.pas',
103112
HlpBlake2SP in '..\..\HashLib\src\Crypto\HlpBlake2SP.pas',
113+
HlpBlake3Dispatch in '..\..\HashLib\src\Crypto\HlpBlake3Dispatch.pas',
104114
HlpBlake3 in '..\..\HashLib\src\Crypto\HlpBlake3.pas',
105115
HlpPBKDF2_HMACNotBuildInAdapter in '..\..\HashLib\src\KDF\HlpPBKDF2_HMACNotBuildInAdapter.pas',
106116
HlpPBKDF_Argon2NotBuildInAdapter in '..\..\HashLib\src\KDF\HlpPBKDF_Argon2NotBuildInAdapter.pas',
117+
HlpArgon2Dispatch in '..\..\HashLib\src\KDF\HlpArgon2Dispatch.pas',
107118
HlpArgon2TypeAndVersion in '..\..\HashLib\src\KDF\HlpArgon2TypeAndVersion.pas',
108119
HlpPBKDF_ScryptNotBuildInAdapter in '..\..\HashLib\src\KDF\HlpPBKDF_ScryptNotBuildInAdapter.pas',
120+
HlpScryptDispatch in '..\..\HashLib\src\KDF\HlpScryptDispatch.pas',
109121
HlpConverters in '..\..\HashLib\src\Utils\HlpConverters.pas',
110122
HlpBitConverter in '..\..\HashLib\src\Utils\HlpBitConverter.pas',
111123
HlpBits in '..\..\HashLib\src\Utils\HlpBits.pas',
112124
HlpSimd in '..\..\HashLib\src\Utils\HlpSimd.pas',
113125
HlpHashLibTypes in '..\..\HashLib\src\Utils\HlpHashLibTypes.pas',
114126
HlpArrayUtils in '..\..\HashLib\src\Utils\HlpArrayUtils.pas';
115127

116-
var
117-
StringList: TStringList;
118-
Log: String;
128+
procedure ConsoleLog(const AMessage: String);
129+
begin
130+
Writeln(AMessage);
131+
end;
119132

120133
begin
121134
try
122-
Writeln('Please be patient, this might take some time' + SLineBreak);
123-
StringList := TStringList.Create;
124-
try
125-
TPerformanceBenchmark.DoBenchmark(StringList);
126-
127-
for Log in StringList do
128-
begin
129-
Writeln(Log);
130-
end;
131-
132-
finally
133-
StringList.Free;
134-
end;
135-
Writeln(SLineBreak + 'Performance Benchmark Finished');
135+
TPerformanceBenchmark.Run(ConsoleLog);
136136
ReadLn;
137137
except
138138
on E: Exception do
139139
Writeln(E.ClassName, ': ', E.Message);
140140
end;
141-
142141
end.

HashLib.Benchmark/Delphi/PerformanceBenchmarkFMX.dpr

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ uses
1616
HlpHMACNotBuildInAdapter in '..\..\HashLib\src\Base\HlpHMACNotBuildInAdapter.pas',
1717
HlpMultipleTransformNonBlock in '..\..\HashLib\src\Base\HlpMultipleTransformNonBlock.pas',
1818
HlpAdler32 in '..\..\HashLib\src\Checksum\HlpAdler32.pas',
19+
HlpAdler32Dispatch in '..\..\HashLib\src\Checksum\HlpAdler32Dispatch.pas',
1920
HlpCRC in '..\..\HashLib\src\Checksum\HlpCRC.pas',
21+
HlpCRCDispatch in '..\..\HashLib\src\Checksum\HlpCRCDispatch.pas',
22+
HlpGF2 in '..\..\HashLib\src\Checksum\HlpGF2.pas',
2023
HlpCRC16 in '..\..\HashLib\src\Checksum\HlpCRC16.pas',
2124
HlpCRC32 in '..\..\HashLib\src\Checksum\HlpCRC32.pas',
2225
HlpCRC32Fast in '..\..\HashLib\src\Checksum\HlpCRC32Fast.pas',
@@ -40,21 +43,27 @@ uses
4043
HlpRIPEMD320 in '..\..\HashLib\src\Crypto\HlpRIPEMD320.pas',
4144
HlpSHA0 in '..\..\HashLib\src\Crypto\HlpSHA0.pas',
4245
HlpSHA1 in '..\..\HashLib\src\Crypto\HlpSHA1.pas',
46+
HlpSHA1Dispatch in '..\..\HashLib\src\Crypto\HlpSHA1Dispatch.pas',
4347
HlpSHA2_224 in '..\..\HashLib\src\Crypto\HlpSHA2_224.pas',
4448
HlpSHA2_256 in '..\..\HashLib\src\Crypto\HlpSHA2_256.pas',
49+
HlpSHA2_256Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_256Dispatch.pas',
50+
HlpSHA2_512Dispatch in '..\..\HashLib\src\Crypto\HlpSHA2_512Dispatch.pas',
4551
HlpSHA2_256Base in '..\..\HashLib\src\Crypto\HlpSHA2_256Base.pas',
4652
HlpSHA2_384 in '..\..\HashLib\src\Crypto\HlpSHA2_384.pas',
4753
HlpSHA2_512 in '..\..\HashLib\src\Crypto\HlpSHA2_512.pas',
4854
HlpSHA2_512_224 in '..\..\HashLib\src\Crypto\HlpSHA2_512_224.pas',
4955
HlpSHA2_512_256 in '..\..\HashLib\src\Crypto\HlpSHA2_512_256.pas',
5056
HlpSHA2_512Base in '..\..\HashLib\src\Crypto\HlpSHA2_512Base.pas',
57+
HlpSHA3Dispatch in '..\..\HashLib\src\Crypto\HlpSHA3Dispatch.pas',
5158
HlpSHA3 in '..\..\HashLib\src\Crypto\HlpSHA3.pas',
5259
HlpSnefru in '..\..\HashLib\src\Crypto\HlpSnefru.pas',
5360
HlpTiger in '..\..\HashLib\src\Crypto\HlpTiger.pas',
5461
HlpTiger2 in '..\..\HashLib\src\Crypto\HlpTiger2.pas',
5562
HlpWhirlPool in '..\..\HashLib\src\Crypto\HlpWhirlPool.pas',
5663
HlpGOST3411_2012 in '..\..\HashLib\src\Crypto\HlpGOST3411_2012.pas',
64+
HlpBlake2BDispatch in '..\..\HashLib\src\Crypto\HlpBlake2BDispatch.pas',
5765
HlpBlake2B in '..\..\HashLib\src\Crypto\HlpBlake2B.pas',
66+
HlpBlake2SDispatch in '..\..\HashLib\src\Crypto\HlpBlake2SDispatch.pas',
5867
HlpBlake2S in '..\..\HashLib\src\Crypto\HlpBlake2S.pas',
5968
HlpBlake2BParams in '..\..\HashLib\src\Crypto\Blake2BParams\HlpBlake2BParams.pas',
6069
HlpBlake2SParams in '..\..\HashLib\src\Crypto\Blake2SParams\HlpBlake2SParams.pas',
@@ -100,11 +109,14 @@ uses
100109
HlpIBlake2SParams in '..\..\HashLib\src\Interfaces\IBlake2SParams\HlpIBlake2SParams.pas',
101110
HlpBlake2BP in '..\..\HashLib\src\Crypto\HlpBlake2BP.pas',
102111
HlpBlake2SP in '..\..\HashLib\src\Crypto\HlpBlake2SP.pas',
112+
HlpBlake3Dispatch in '..\..\HashLib\src\Crypto\HlpBlake3Dispatch.pas',
103113
HlpBlake3 in '..\..\HashLib\src\Crypto\HlpBlake3.pas',
104114
HlpPBKDF2_HMACNotBuildInAdapter in '..\..\HashLib\src\KDF\HlpPBKDF2_HMACNotBuildInAdapter.pas',
105115
HlpPBKDF_Argon2NotBuildInAdapter in '..\..\HashLib\src\KDF\HlpPBKDF_Argon2NotBuildInAdapter.pas',
116+
HlpArgon2Dispatch in '..\..\HashLib\src\KDF\HlpArgon2Dispatch.pas',
106117
HlpArgon2TypeAndVersion in '..\..\HashLib\src\KDF\HlpArgon2TypeAndVersion.pas',
107118
HlpPBKDF_ScryptNotBuildInAdapter in '..\..\HashLib\src\KDF\HlpPBKDF_ScryptNotBuildInAdapter.pas',
119+
HlpScryptDispatch in '..\..\HashLib\src\KDF\HlpScryptDispatch.pas',
108120
HlpConverters in '..\..\HashLib\src\Utils\HlpConverters.pas',
109121
HlpBitConverter in '..\..\HashLib\src\Utils\HlpBitConverter.pas',
110122
HlpBits in '..\..\HashLib\src\Utils\HlpBits.pas',
Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,22 @@
11
program PerformanceBenchmarkConsole;
22

3+
{$MODE DELPHI}
4+
35
uses
4-
Classes,
56
SysUtils,
67
uPerformanceBenchmark;
78

8-
var
9-
StringList: TStringList;
10-
Log: String;
9+
procedure ConsoleLog(const AMessage: String);
10+
begin
11+
Writeln(AMessage);
12+
end;
1113

1214
begin
1315
try
14-
Writeln('Please be patient, this might take some time' + SLineBreak);
15-
StringList := TStringList.Create;
16-
try
17-
TPerformanceBenchmark.DoBenchmark(StringList);
18-
19-
for Log in StringList do
20-
begin
21-
Writeln(Log);
22-
end;
23-
24-
finally
25-
StringList.Free;
26-
end;
27-
Writeln(SLineBreak + 'Performance Benchmark Finished');
16+
TPerformanceBenchmark.Run(ConsoleLog);
2817
ReadLn;
2918
except
3019
on E: Exception do
3120
Writeln(E.ClassName, ': ', E.Message);
3221
end;
33-
3422
end.

0 commit comments

Comments
 (0)