SChernykh
3c8c7ee097
Optimized dataset read ( #211 )
...
* Optimized dataset read
There was a false dependency on readReg2 and readReg3 (caused by `xor rbp, rax` instruction) when reading dataset item (see design.md - 4.6.2 Loop execution, steps 5 and 7). This change uses `ma` register to read dataset item before the whole `rbp` (`ma` and `mx`) is changed, so superscalar and out-of-order CPU can start executing it earlier.
Results: https://i.imgur.com/Bpeq9mx.png
~1% speedup on modern Intel/AMD CPUs.
* ARMv8: optimized dataset read
Break dependency from readReg2 and readReg3.
* Fixed light mode hashing
2021-05-22 13:54:50 +02:00
..
2021-05-22 13:54:50 +02:00
2019-10-30 20:09:27 +01:00
2020-07-04 14:57:56 +02:00
2019-12-01 16:58:38 +01:00
2019-12-01 16:58:38 +01:00
2019-11-19 23:17:55 +01:00
2019-05-18 14:21:47 +02:00
2019-10-06 18:07:23 +02:00
2019-10-30 20:09:27 +01:00
2019-10-06 18:07:23 +02:00
2019-10-06 18:07:23 +02:00
2019-10-06 23:46:49 +02:00
2019-10-06 23:46:49 +02:00
2019-07-03 18:13:20 +02:00
2019-05-21 08:37:36 +02:00
2019-07-03 18:13:20 +02:00
2019-07-03 18:13:20 +02:00
2019-07-03 18:13:20 +02:00
2019-06-22 15:54:43 +02:00
2019-09-22 21:06:22 +02:00
2019-08-30 09:28:18 +02:00
2020-11-29 20:39:53 +01:00
2019-10-08 23:09:35 +02:00
2019-10-06 18:07:23 +02:00
2019-11-22 18:24:16 +01:00
2019-06-22 15:54:43 +02:00
2019-06-23 23:10:29 +02:00
2019-06-10 16:02:25 +02:00
2020-05-06 13:48:53 +02:00
2020-05-06 13:48:53 +02:00
2019-09-22 21:06:22 +02:00
2021-05-22 13:54:50 +02:00
2021-02-01 23:19:14 +01:00
2019-11-19 23:17:55 +01:00
2019-11-19 23:17:55 +01:00
2021-01-23 14:56:35 -08:00
2021-01-23 14:56:35 -08:00
2021-01-23 14:56:35 -08:00
2021-01-23 14:56:35 -08:00
2019-11-19 23:17:55 +01:00
2020-11-29 20:39:53 +01:00
2019-05-18 14:21:47 +02:00
2020-06-28 16:35:19 +02:00
2020-05-06 12:42:30 +02:00
2019-06-29 18:53:49 +02:00
2019-06-22 15:54:43 +02:00
2019-05-18 14:21:47 +02:00
2019-05-18 14:21:47 +02:00
2019-06-29 18:53:49 +02:00
2019-10-11 11:31:05 +02:00
2019-06-24 13:58:41 +02:00
2019-12-01 16:58:38 +01:00
2020-06-27 20:21:06 +02:00
2021-05-20 20:35:18 +01:00
2019-08-25 13:47:40 +02:00
2019-08-25 13:47:40 +02:00
2019-08-25 13:47:40 +02:00
2019-09-22 21:06:22 +02:00
2019-08-25 13:47:40 +02:00
2019-05-29 17:27:49 +02:00
2019-06-10 16:00:04 +02:00
2019-06-22 15:54:43 +02:00
2019-06-22 15:54:43 +02:00