2026-08-11 18:00:24 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| TestSHA3.mq5 |
|
| | | //| Copyright 2026, Niquel Mendoza |
|
| | | //| https://www.mql5.com |
|
| | | //+------------------------------------------------------------------+
|
| | | #property copyright "Copyright 2026, Niquel Mendoza"
|
| | | #property link "https://www.mql5.com"
|
| | | #property version "1.00"
|
| | | #property strict
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | #include "..\\SHA3.mqh"
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| Script program start function |
|
| | | //+------------------------------------------------------------------+
|
| | | void OnStart()
|
| | | {
|
| | | //---
|
2026-08-11 18:27:38 -05:00 | | | uchar fin[32];
|
2026-08-11 18:00:24 -05:00 | | |
|
2026-08-20 11:04:12 -05:00 | | | //---
|
2026-08-11 18:00:24 -05:00 | | |
|
2026-08-20 11:04:12 -05:00 | | | int DataSizeMB = 8;
|
| | | int dataSize = DataSizeMB * 1024 * 1024;
|
| | | uchar data[];
|
| | | ArrayResize(data, dataSize);
|
2026-08-11 18:00:24 -05:00 | | |
|
2026-08-20 11:04:12 -05:00 | | | MathSrand(42);
|
| | | for(int i = 0; i < dataSize; i++)
|
| | | data[i] = (uchar)(MathRand() % 256);
|
2026-08-11 18:00:24 -05:00 | | |
|
| | |
|
2026-08-11 18:27:38 -05:00 | | |
|
| | |
|
2026-08-20 11:04:12 -05:00 | | | ulong a = GetMicrosecondCount();
|
2026-08-26 22:23:21 -05:00 | | | TSN::CCryptoHashSHA3::SHA3_256(data, dataSize, fin, 0);
|
2026-08-20 11:04:12 -05:00 | | | ulong b = GetMicrosecondCount();
|
2026-08-11 18:00:24 -05:00 | | |
|
2026-08-20 11:04:12 -05:00 | | | double shaSeconds = (b - a) / 1000000.0;
|
| | | double shaMBs = DataSizeMB / shaSeconds;
|
| | |
|
| | |
|
| | | PrintFormat(" Tiempo: %.4f s", shaSeconds);
|
| | | PrintFormat(" Velocidad: %.2f MB/s", shaMBs);
|
| | | Print("fin: ", fin[0]);
|
| | |
|
| | |
|
| | |
|
| | | /* string s = "SHA3 test MQL5 optimizado 2026";
|
2026-08-11 18:27:38 -05:00 | | | uchar u[];
|
| | | const int l = StringToCharArray(s, u) - 1;
|
| | | TSN::CCryptoHash::SHA3_256(u, l, fin);
|
2026-08-20 11:04:12 -05:00 | | | */
|
2026-08-11 18:00:24 -05:00 | | |
|
2026-08-11 18:27:38 -05:00 | | | string str = "";
|
| | | for(int i = 0; i < 32; i++)
|
| | | {
|
| | | str += StringFormat("%02x", fin[i]);
|
| | | }
|
2026-08-15 17:07:55 -05:00 | | | Print(str);
|
2026-08-11 18:00:24 -05:00 | | | }
|
| | | //+------------------------------------------------------------------+
|