Skip to content

Performance and portability testing

Pre-release
Pre-release
Compare
Choose a tag to compare
@tevador tevador released this 20 Feb 12:47
· 354 commits to master since this release

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, you may omit the --softAes option to get a small increase in performance.
  • If your system supports large pages, 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, you have to add the --softAes option. Your mining performance will be about 40% lower.
  • If your system supports large pages, you can add --largePages option to get a significant increase in performance (up to 25%).
  • If you have a NUMA 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