1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2026-06-17 18:16:07 -05:00

Linux/MacOSX/FreeBSD: Implement benchmarking for Hash and PKCS-5 PRF algorithms.

This commit is contained in:
Mounir IDRASSI
2018-08-09 19:18:18 +02:00
parent 1b59879411
commit c84bcd4b47
5 changed files with 733 additions and 130 deletions
+13 -5
View File
@@ -29,7 +29,10 @@ namespace VeraCrypt
ColumnAlgorithm = 0,
ColumnEncryption,
ColumnDecryption,
ColumnMean
ColumnMean,
ColumnTime = 1,
ColumnIterations = 2,
ColumnHashMean = 1
};
struct BenchmarkResult
@@ -38,9 +41,13 @@ namespace VeraCrypt
uint64 EncryptionSpeed;
uint64 DecryptionSpeed;
uint64 MeanSpeed;
uint64 Time;
uint64 Iterations;
};
void DoBenchmark (list<BenchmarkResult>& results, Buffer& buffer);
void UpdateBenchmarkList ();
void DoBenchmark (list<BenchmarkResult>& results, Buffer& buffer, int opIndex);
void OnBenchmarkChoiceSelected (wxCommandEvent& event);
void OnBenchmarkButtonClick (wxCommandEvent& event);
class BenchmarkThreadRoutine : public WaitThreadRoutine
@@ -49,10 +56,11 @@ namespace VeraCrypt
BenchmarkDialog* m_pDlg;
list<BenchmarkResult>& m_results;
Buffer& m_buffer;
BenchmarkThreadRoutine(BenchmarkDialog* pDlg, list<BenchmarkResult>& results, Buffer& buffer)
: m_pDlg(pDlg), m_results(results), m_buffer(buffer) { }
int m_opIndex;
BenchmarkThreadRoutine(BenchmarkDialog* pDlg, list<BenchmarkResult>& results, Buffer& buffer, int opIndex)
: m_pDlg(pDlg), m_results(results), m_buffer(buffer), m_opIndex (opIndex) { }
virtual ~BenchmarkThreadRoutine() { }
virtual void ExecutionCode(void) { m_pDlg->DoBenchmark (m_results, m_buffer); }
virtual void ExecutionCode(void) { m_pDlg->DoBenchmark (m_results, m_buffer, m_opIndex); }
};
};
}