Releases: tevador/RandomX
Releases · tevador/RandomX
Benchmark v1.1.1
Usage:
Usage: ./randomx-benchmark [OPTIONS]
Supported options:
--help shows this message
--mine mining mode: 2080 MiB
--verify verification mode: 256 MiB
--jit JIT compiled mode (default: interpreter)
--secure W^X policy for JIT pages (default: off)
--largePages use large pages (default: small pages)
--softAes use software AES (default: hardware AES)
--threads T use T threads (default: 1)
--affinity A thread affinity bitmask (default: 0)
--init Q initialize dataset with Q threads (default: 1)
--nonces N run N nonces (default: 1000)
--seed S seed for cache initialization (default: 0)
Changes:
Benchmark v1.1.0
Performance may be slightly lower than v1.0.4 on some CPUs due to #118.
Using the new --secure
option may decrease mining performance by up to 30%, but provides slightly more secure memory permission management.
Usage: ./randomx-benchmark [OPTIONS]
Supported options:
--help shows this message
--mine mining mode: 2080 MiB
--verify verification mode: 256 MiB
--jit x86-64 JIT compiled mode (default: interpreter)
--secure W^X policy for JIT pages (default: off)
--largePages use large pages (default: small pages)
--softAes use software AES (default: hardware AES)
--threads T use T threads (default: 1)
--affinity A thread affinity bitmask (default: 0)
--init Q initialize dataset with Q threads (default: 1)
--nonces N run N nonces (default: 1000)
--seed S seed for cache initialization (default: 0)
Changes:
- Fix undefined behavior in rotr/rotl (#86)
- Fix: possible overflow when using non-standard Dataset size (#87)
- Sanity checks (#88)
- Use cmake for building (#90)
- Vector intrinsics for ARMv8 (#93)
- Refactoring (#95)
- benchmark: affinity cast for mingw (#96)
- Do not attempt to allocate >= 4 GiB on 32-bit systems (#99)
- Fix: hardcoded JIT code buffer size (#98)
- Fix a compiler error on Apple OSX (#110)
- Fix use-after-free in benchmark (debug build)
- Changes recommended by Quarkslab (#111)
- Optional W^X policy for JIT pages (#112)
- Increase the frequency of CBRANCH (#118)
v1.0.4
Benchmark usage:
RandomX benchmark v1.0.4
Usage: bin/randomx-benchmark [OPTIONS]
Supported options:
--help shows this message
--mine mining mode: 2080 MiB
--verify verification mode: 256 MiB
--jit x86-64 JIT compiled mode (default: interpreter)
--largePages use large pages
--softAes use software AES (default: x86 AES-NI)
--threads T use T threads (default: 1)
--affinity A thread affinity bitmask (default: 0)
--init Q initialize dataset with Q threads (default: 1)
--nonces N run N nonces (default: 1000)
--seed S seed for cache initialization (default: 0)
Changes:
- Dataset prefetch in interpreted VM #52
- Support building a shared library #53
- Use strongly typed enums #55
- Fix cmake standalone build #56
- Fix Windows detection #58
- Configuration guidelines #59
- Fix possible overflow in static_assert #67
- benchmark: add thread affinity mask option #68
- Regression tests #73
- Large page support for FreeBSD #74
- Different round keys for columns 0,1 and 2,3 in AesGenerator4R #76
- Decrease the frequency of FADD/FSUB in favor of FMUL #77
Improved program generation
RandomX benchmark
Usage: benchmark.exe [OPTIONS]
Supported options:
--help shows this message
--mine mining mode: 2080 MiB
--verify verification mode: 256 MiB
--jit x86-64 JIT compiled mode (default: interpreter)
--largePages use large pages
--softAes use software AES (default: x86 AES-NI)
--threads T use T threads (default: 1)
--init Q initialize dataset with Q threads (default: 1)
--nonces N run N nonces (default: 1000)
--seed S seed for cache initialization (default: 0)
Changes in this release:
- the number of AES rounds for program generation increased from 1 to 4
Minor changes
RandomX benchmark
Usage: benchmark.exe [OPTIONS]
Supported options:
--help shows this message
--mine mining mode: 2080 MiB
--verify verification mode: 256 MiB
--jit x86-64 JIT compiled mode (default: interpreter)
--largePages use large pages
--softAes use software AES (default: x86 AES-NI)
--threads T use T threads (default: 1)
--init Q initialize dataset with Q threads (default: 1)
--nonces N run N nonces (default: 1000)
--seed S seed for cache initialization (default: 0)
Minor changes in this release:
- improved condition register selection for CBRANCH instruction
- added support for building under MinGW
- fixed a possible memory leak
Legacy 32-bit support
RandomX benchmark
Usage: benchmark.exe [OPTIONS]
Supported options:
--help shows this message
--mine mining mode: 2080 MiB
--verify verification mode: 256 MiB
--jit x86-64 JIT compiled mode (default: interpreter)
--largePages use large pages
--softAes use software AES (default: x86 AES-NI)
--threads T use T threads (default: 1)
--init Q initialize dataset with Q threads (default: 1)
--nonces N run N nonces (default: 1000)
--seed S seed for cache initialization (default: 0)
Changes:
- Added support for legacy x87 floating point on 32-bit systems
- Fixed FSCAL instruction causing group F registers to exceed their intended maximum value
Benchmark
Benchmark to test RandomX.
RandomX benchmark
Usage: benchmark [OPTIONS]
Supported options:
--help shows this message
--mine mining mode: 2 GiB
--verify verification mode: 256 MiB
--jit x86-64 JIT compiled mode (default: interpreter)
--largePages use large pages
--softAes use software AES (default: x86 AES-NI)
--threads T use T threads (default: 1)
--init Q initialize dataset with Q threads (default: 1)
--nonces N run N nonces (default: 1000)
--seed S seed for cache initialization (default: 0)
Faster verification
Major improvement of verification speed. Mining performance should be mostly unaffected.
Changes:
- Dataset size decreased from 4 GiB to 2 GiB
- Added new verification option
--jit
for x86 systems (2-3 times faster verification) - Added random branches in generated programs
Floating point portability fix
Reworked int -> float conversion for group E registers to avoid a small chance of denormal results.
Reworked division instructions
Issue #26 : Division instructions were replaced by a single multiplication by a 64-bit reciprocal. Performance is increased by 1-5% depending on the CPU.