Precompiled binaries are available for Windows 64-bit and Ubuntu/Debian x86-64.
Verification mode
Run as:
randomx --verify --softAes
* If you have a recent x86 CPU which supports [AES-NI](https://en.wikipedia.org/wiki/AES_instruction_set), you may omit the `--softAes` option to get a small increase in performance.
* If your system supports [large pages](https://en.wikipedia.org/wiki/Page_(computer_memory)#Multiple_page_sizes), you can add `--largePages` option to get a small increase in performance.
Mining mode
Mining mode is currently only supported on 64-bit x86 CPUs. Requires at least 4.25 GiB of RAM.
Run as:
randomx --mine --init Q --threads T --nonces N
* Select `Q` (number of initialization threads) equal to the number of hardware threads of your CPU.
* Find `T` (number of mining threads) which produces the highest hashrate. Starting point should be 1 thread per 2 MB of L3 cache, but some CPUs can benefit from running more threads, while some CPUs cannot run more than 1 thread per core efficiently depending on other factors such as L1/L2 cache sizes.
* Select `N` (number of nonces) equal to `10000`, `100000` or `1000000` depending on the performance of your system. Aim for at least a 60-second mining period for accurate results.
* If your CPU doesn't support [AES-NI](https://en.wikipedia.org/wiki/AES_instruction_set), you have to add the `--softAes` option. Your mining performance will be about 40% lower.
* If your system supports [large pages](https://en.wikipedia.org/wiki/Page_(computer_memory)#Multiple_page_sizes), you can add `--largePages` option to get a significant increase in performance (up to 25%).
* If you have a [NUMA](https://en.wikipedia.org/wiki/Non-uniform_memory_access) system, run one instance of RandomX per NUMA node.
Example of optimal configuration for Intel Core i7-8550U (4 cores, 8 threads, 8 MB of L3 cache).
randomx.exe --mine --init 8 --threads 4 --nonces 100000 --largePages
0.1.0-test
Performance test of ALU and FPU operations for 64-bit x86 machines.
Usage:
Windows:
benchmark.exe < test1.data
benchmark.exe < test2.data
Linux:
./benchmark < test1.data
./benchmark < test2.data
./benchmark < /dev/urandom
Produces result formatted as a markdown table suitable to be pasted directly on github.