Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance and portability testing #25

Closed
tevador opened this issue Feb 20, 2019 · 102 comments
Closed

Performance and portability testing #25

tevador opened this issue Feb 20, 2019 · 102 comments
Labels

Comments

@tevador
Copy link
Owner

tevador commented Feb 20, 2019

Please post:

  1. Your CPU, RAM parameters, operating system and compiler (if you compiled yourself).
  2. Verification mode results.
  3. Mining mode results (optional).

Precompiled binaries are available for Windows 64-bit and Ubuntu/Debian x86-64. Download the latest release here: https://github.com/tevador/RandomX/releases

Verification mode

Run as:

randomx --verify --softAes
  • If your CPU is from the x86_64 family, add the --jit option to get 2-3 times faster verification.
  • 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 2.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.
@tevador tevador added the tests label Feb 20, 2019
@tevador
Copy link
Owner Author

tevador commented Feb 20, 2019

Raspberry Pi 3

ARM Cortex-A53, 1.2 GHz, 1 GB LPDDR2, Ubuntu 16.04 armv7l (32-bit), compiled with GCC 8.1.0

> bin/randomx --verify --softAes
Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 8.55579 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 578.734 ms per hash

AMD Ryzen 7 1700

Clocked at 3.35 GHz (Turbo disabled), 16 GB of DDR4-2933 (dual channel), Ubuntu 16.04 x86_64, compiled with GCC 8.1.0

> bin/randomx --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.6282 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 55.5542 ms per hash
> bin/randomx --mine --largePages --init 16 --threads 8 --nonces 1000000
RandomX - mining mode
Initializing (16 threads) ...
Dataset (4 GiB) initialized in 9.40938 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: 9979734c3f8a2f665810851050aaf8a63d6bc9810cfecee9d55a3706a81266fd
Performance: 4124.02 hashes per second

Intel Core i7-8550U

Boosts to ~3.5 GHz at the beginning, then throttles down to ~2.4 GHz (mining mode).
16 GB of DDR4-2400 (dual channel), Windows 10 64-bit, compiled with Visual Studio 2017 15.8.3

>randomx.exe --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.576263 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 28.8373 ms per hash
>randomx.exe --mine --largePages --init 8 --threads 4 --nonces 100000
RandomX - mining mode
Initializing (8 threads) ...
Dataset (4 GiB) initialized in 14.2439 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 1678.74 hashes per second

@SamsungGalaxyPlayer
Copy link

SamsungGalaxyPlayer commented Feb 20, 2019

Intel Core i7-7700HQ

16GB of DDR4. Base speed 2.8GHz. Boosts to ~3.5GHz in testing. L3 cache 6MB. Windows 10 64-bit. Used precompiled binaries.

./randomx.exe --verify
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.906537 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 49.6185 ms per hash

./randomx.exe --mine --init 8 --threads 3 --nonces 100000
RandomX - mining mode
Initializing (8 threads) ...
Dataset (4 GiB) initialized in 20.02 s
Initializing 3 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 753.452 hashes per second

./randomx.exe --mine --init 4 --threads 3 --nonces 100000
RandomX - mining mode
Initializing (4 threads) ...
Dataset (4 GiB) initialized in 30.4974 s
Initializing 3 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 782.408 hashes per second

@tevador
Copy link
Owner Author

tevador commented Feb 20, 2019

@SamsungGalaxyPlayer Can you try --largePages? With 16 GB, you should have no issues with contiguous memory.

@ghost
Copy link

ghost commented Feb 20, 2019

Intel Core i5-8250U CPU @ 1.60GHz
8GB DDR4, L3 Cache 6 MB

$ ./randomx --verify
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.769388 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 42.6374 ms per hash
./randomx --mine --init 8 --threads 6 --nonces 100000
RandomX - mining mode
Initializing (8 threads) ...
Dataset (4 GiB) initialized in 20.5339 s
Initializing 6 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 1021.56 hashes per second

Compiled latest commit 18ca8b5, Arch Linux, gcc 8.2.1 20181127

@theksk
Copy link

theksk commented Feb 20, 2019

Intel(R) Xeon(R) CPU E5506 @ 2.13GHz

./randomx --verify --softAes
Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 1.7613 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 132.288 ms per hash

@hyc
Copy link
Collaborator

hyc commented Feb 20, 2019

AMD Ryzen Mobile Pro 2700U @ 2.20GHz, 32GB DDR4-2400
Ubuntu 18.10, gcc (Ubuntu 8.2.0-7ubuntu1) 8.2.0

vielle:/home/software/RandomX> bin/randomx --verify  --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.616493 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 60.0637 ms per hash
vielle:/home/software/RandomX> bin/randomx --mine --init 8 --threads 4 --nonces 100000 --largePages
RandomX - mining mode
Initializing (8 threads) ...
Dataset (4 GiB) initialized in 14.8269 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 1372.41 hashes per second

@hyc
Copy link
Collaborator

hyc commented Feb 20, 2019

Geekbox (Rockchip RK3368, 8xARM Cortex-A53 @ 1.5GHz, 2GB RAM)
Debian Jessie, gcc (Debian/Linaro 4.9.2-10) 4.9.2

geekbox@geekbox:/home/software/RandomX$ bin/randomx --verify --softAes
Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 4.05107 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 447.505 ms per hash

I'm a bit overwhelmed with work at the moment, but I can get ARM AES working after my next conference is over in a couple weeks. Or someone else can beat me to it if they like.

@klp18
Copy link

klp18 commented Feb 20, 2019

Xeon E5-2670v2 @ 2.50Ghz (2 processors), 128GB ECC DD3
Windows Server 2012 R2

C:\Users\Administrator\Desktop\randomx>randomx --verify
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 2.08985 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 88.0998 ms per hash

C:\Users\Administrator\Desktop\randomx>randomx --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 1.50766 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 81.2674 ms per hash

C:\Users\Administrator\Desktop\randomx>randomx --mine --largePages --init 20 --threads 12 --nonces 100000
RandomX - mining mode
Initializing (20 threads) ...
Dataset (4 GiB) initialized in 11.2982 s
Initializing 12 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 3556.08 hashes per second

C:\Users\Administrator\Desktop\randomx>randomx --mine --largePages --init 40 --threads 25 --nonces 100000
RandomX - mining mode
Initializing (40 threads) ...
Dataset (4 GiB) initialized in 7.52452 s
Initializing 25 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 4986.93 hashes per second

@tevador
Copy link
Owner Author

tevador commented Feb 20, 2019

Try mining mode with only 10 threads. It might run faster than 12 threads because of L2 cache size.

@klp18
Copy link

klp18 commented Feb 20, 2019

You mean L3? It is 25Mb per CPU (plus 2.5Mb L2). So 12 threads should be ok.

C:\Users\Administrator\Desktop\randomx>randomx --mine --largePages --init 20 --threads 10 --nonces 100000
RandomX - mining mode
Initializing (20 threads) ...
Dataset (4 GiB) initialized in 11.0515 s
Initializing 10 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 3164.38 hashes per second

@tevador
Copy link
Owner Author

tevador commented Feb 20, 2019

OK. Someone tested an 8 core Xeon with 20 MB of cache in #22 and got better performance with 8 threads than 10. So your case is different I guess.
In any case, since your system has NUMA, you should run 2 instances of RandomX (one for each CPU) for a total of ~7000 H/s.

@Gingeropolous
Copy link

Note that the only system where the binary worked was an ubuntu 18 box. Everything else i had to compile

gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 
model name      : Intel(R) Core(TM) i7-2700K CPU @ 3.50GHz
stepping        : 7
microcode       : 0x28
cpu MHz         : 1651.425
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4

mondaemon@jdc-user:~/randomx_test_20190220/RandomX/bin$ ./randomx --verify
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.896662 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 52.4011 ms per hash


mondaemon@jdc-user:~/randomx_test_20190220/RandomX/bin$ time ./randomx --mine --init 4 --threads 4 --nonces 40000
RandomX - mining mode
Initializing (4 threads) ...
Dataset (4 GiB) initialized in 25.8137 s
Initializing 4 virtual machine(s) ...
Running benchmark (40000 nonces) ...
Calculated result: c7aa337763ce1e317fa85f76bc48fd698fbbc90c3811625d5d98080251e148e6
Performance: 1221.14 hashes per second

real	0m58.683s
user	3m49.432s
sys	0m1.640s
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 
model name      : Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
stepping        : 9
microcode       : 0x8e
cpu MHz         : 800.205
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4


fastpc@fastpc-desktop:~/randomx_test_20190220/RandomX/bin$ ./randomx --verify
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.539419 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 32.1323 ms per hash

fastpc@fastpc-desktop:~/randomx_test_20190220/RandomX/bin$ time ./randomx --mine --init 4 --threads 7 --nonces 50000
RandomX - mining mode
Initializing (4 threads) ...
Dataset (4 GiB) initialized in 25.4099 s
Initializing 7 virtual machine(s) ...
Running benchmark (50000 nonces) ...
Calculated result: 2ef104fc3715a3d6a5f1c3da808061ea7d70d3b9e3b5bf671c5dea9c07acf86a
Performance: 1509.77 hashes per second

Now here's an interesting case. This is a 4 core virtual machine on top of a .... some kind of opteron. 6138 or something. nproc spits out 4, but /proc/cpuinfo shows 1.

gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 
model name      : AMD Opteron 23xx (Gen 3 Class Opteron)
stepping        : 1
microcode       : 0x1000065
cpu MHz         : 2100.040
cache size      : 512 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1


main12@main12-kvm:~/randomx_test_20190220/RandomX/bin$ ./randomx --verify --softAes
Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 2.9437 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 1913e746e9cdeb21ccc2130cbe11b053a41248b6aa9b2947b00eb7512932830e
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 183.997 ms per hash

main12@main12-kvm:~/randomx_test_20190220/RandomX/bin$ time ./randomx --mine --init 4 --threads 4 --nonces 200 --softAes
Using software AES.
RandomX - mining mode
Initializing (4 threads) ...
Dataset (4 GiB) initialized in 148.164 s
Initializing 4 virtual machine(s) ...
Running benchmark (200 nonces) ...
Calculated result: ac2827fcdd2c8f42a2808bb1bdff41d0fe17f8493c373d8de696a863b554ec1c
Performance: 63.5885 hashes per second
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 
model name      : Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz
stepping        : 9
microcode       : 0x20
cpu MHz         : 3278.613
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4


gingerale@gingerale-Inspiron-1545:~/randomx_20190220_testing/RandomX/bin$ ./randomx --verify
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.83772 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 61.319 ms per hash

gingerale@gingerale-Inspiron-1545:~/randomx_20190220_testing/RandomX/bin$ time ./randomx --mine --init 4 --threads 5 --nonces 50000
RandomX - mining mode
Initializing (4 threads) ...
Dataset (4 GiB) initialized in 26.5661 s
Initializing 5 virtual machine(s) ...
Running benchmark (50000 nonces) ...
Calculated result: 2ef104fc3715a3d6a5f1c3da808061ea7d70d3b9e3b5bf671c5dea9c07acf86a
Performance: 1083.29 hashes per second

binary worked
2 gigs ram, mining didn't work

model name      : AMD C-50 Processor
stepping        : 0
microcode       : 0x5000029
cpu MHz         : 800.216
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2


user@aspire1:~/randomx_test_20190220$ ./randomx --verify --softAes
Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 5.75274 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 381.602 ms per hash

user@aspire1:~/randomx_test_20190220$ ./randomx --mine --init 1 --threads 1 --nonces 2 --softAes
Using software AES.
RandomX - mining mode
Initializing (1 thread) ...
Dataset (4 GiB) initialized in 531.865 s
Initializing 1 virtual machine(s) ...
Running benchmark (2 nonces) ...
Calculated result: 5cd74da718d6d36db7a5b5d139d177b3b24264dc21cf41dff892b34fa2cee332
Performance: 0.00825968 hashes per second

And here's where I grumble about this 4 GB dataset again.

ubuntu 18 so  the bins work

model name      : Intel(R) Celeron(R) CPU G3900 @ 2.80GHz
stepping        : 3
microcode       : 0xc6
cpu MHz         : 800.136
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2

monrig@monrig-MS-7977:~/randomx_test_20190220$ free -h
              total        used        free      shared  buff/cache   available
Mem:           3.8G        348M        3.1G         32K        351M        3.2G
Swap:          7.0G        731M        6.2G

monrig@monrig-MS-7977:~/randomx_test_20190220$ ./randomx --verify
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.799833 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 42.342 ms per hash


monrig@monrig-MS-7977:~/randomx_test_20190220$ ./randomx --mine --init 1 --threads 1 --nonces 1
RandomX - mining mode
Initializing (1 thread) ...
Dataset (4 GiB) initialized in 107.559 s
Initializing 1 virtual machine(s) ...
Running benchmark (1 nonces) ...
Calculated result: 007dd95406aa001eef124467fd37cea696ac84f5bc81dea789a5a22d8fb7cf76
Performance: 1.54605 hashes per second

I had to increase swap on the last one just to get it to mine. Is it going to require 8 GB of ram even if the box is just GPU mining? I mean, I'm definitely not pro GPU focused mining, but making every rig have a minimum of 8GB .... basically GPU miners try to get the things that run the GPUs as cheap as possible. Check the octominer. This thing maxes out at 8 GB ram. grumble grumble.

@tevador
Copy link
Owner Author

tevador commented Feb 21, 2019

@Gingeropolous

model name      : AMD Opteron 23xx (Gen 3 Class Opteron)
...
Calculated result: 1913e746e9cdeb21ccc2130cbe11b053a41248b6aa9b2947b00eb7512932830e
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851

Can you please do:

g++ -maes -march=native -O3 -DTRACE -c src/main.cpp -o obj/main.o
make
bin/randomx --verify --softAes

and pastebin the result?

And here's where I grumble about this 4 GB dataset again.

Even if those CPUs had enough RAM, I'm estimating the following hashrates:

  • AMD C-50 around 50 H/s at best (only 512 KiB of cache)
  • Intel Celeron G3900 around 350 H/s
  • Intel Celeron 3855U (Octominer) around 200 H/s (just 1.6 GHz without turbo)

Perhaps the Celeron G3900 would be worth it if you could find a cheap 4 GB stick to add to the system. But all these CPUs will have a very low performance per watt. My laptop can do ~1670 H/s at 30 W, so probably 5-10x the efficiency of these machines.

Trying to mine using the swap file is a pointless effort. If you insist to mine on a low-end system, you can mine in verification mode and at least get 5-25 H/s using just 256 MB of RAM.

@lilyanatia
Copy link

lilyanatia commented Feb 21, 2019

4x Xeon E5-4640 @ 2.5 GHz
128 GB ECC DDR3 (32 GB quad channel per node)
Arch Linux, gcc 8.2.1

verification mode:

$ ./randomx --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 1.17563 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 69.3351 ms per hash

mining mode:

$ seq 0 3 | xargs -P 0 -I node numactl -N node ./randomx --mine --largePages --nonces 1000000 --init 16 --threads 8
RandomX - mining mode
Initializing (16 threads) ...
RandomX - mining mode
Initializing (16 threads) ...
RandomX - mining mode
Initializing (16 threads) ...
RandomX - mining mode
Initializing (16 threads) ...
Dataset (4 GiB) initialized in 12.6244 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Dataset (4 GiB) initialized in 13.1586 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Dataset (4 GiB) initialized in 13.1965 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Dataset (4 GiB) initialized in 13.3002 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: 9979734c3f8a2f665810851050aaf8a63d6bc9810cfecee9d55a3706a81266fd
Performance: 2554.73 hashes per second
Calculated result: 9979734c3f8a2f665810851050aaf8a63d6bc9810cfecee9d55a3706a81266fd
Performance: 2551.39 hashes per second
Calculated result: 9979734c3f8a2f665810851050aaf8a63d6bc9810cfecee9d55a3706a81266fd
Performance: 2543.19 hashes per second
Calculated result: 9979734c3f8a2f665810851050aaf8a63d6bc9810cfecee9d55a3706a81266fd
Performance: 2517 hashes per second

total hashrate: 10166.31 hashes per second

best result with a single process:

$ numactl -i all ./randomx --mine --largePages --nonces 1000000 --init 64 --threads 32
RandomX - mining mode
Initializing (64 threads) ...
Dataset (4 GiB) initialized in 9.44417 s
Initializing 32 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: 9979734c3f8a2f665810851050aaf8a63d6bc9810cfecee9d55a3706a81266fd
Performance: 6940.36 hashes per second

@lilyanatia
Copy link

lilyanatia commented Feb 21, 2019

2x Xeon E5-2450L @ 2 GHz
6 GB ECC DDR3 (3 GB, triple channel per node)
Arch Linux, gcc 8.2.1

$ ./randomx --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 1.25896 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 80.4889 ms per hash
$ numactl -i all ./randomx --mine --largePages --nonces 100000 --init 32 --threads 16
RandomX - mining mode
Initializing (32 threads) ...
Dataset (4 GiB) initialized in 9.72395 s
Initializing 16 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 3961.66 hashes per second

@Gingeropolous
Copy link

@tevador , it was just grumbling.

Here's the results... i had to use pastebin

http://paste.debian.net/1069321/

@tevador
Copy link
Owner Author

tevador commented Feb 21, 2019

@Gingeropolous Sorry, I missed some options on the command line.

Try again this:

g++ -std=c++11 -maes -march=native -O3 -DTRACE -flto -c src/main.cpp -o obj/main.o
make
bin/randomx --verify --softAes

@Gingeropolous
Copy link

@Gingeropolous
Copy link

@tevador , i fixed it on that VM. When i changed the makefile earlier today i didn't make clean, so yeah. I

main12@main12-kvm:~/randomx_test_20190220/RandomX$ bin/randomx --verify --softAes
Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 3.03045 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 193.019 ms per hash

@SChernykh
Copy link
Collaborator

AMD Ryzen 5 2600 (6 cores), DDR4 2666 MHz (all stock), Windows 10.

Precompiled binary:

RandomX - mining mode
Initializing (12 threads) ...
Dataset (4 GiB) initialized in 10.3716 s
Initializing 6 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 3966.78 hashes per second

Binary compiled with GCC 8.2.0 on msys64:

RandomX - mining mode
Initializing (12 threads) ...
Dataset (4 GiB) initialized in 10.4535 s
Initializing 6 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 3967.49 hashes per second

@tevador
Copy link
Owner Author

tevador commented Feb 22, 2019

I have pushed a new release with a different form of division instruction (issue #26). Slight performance increase can be expected (1-5%).

@myself42
Copy link

i5-4310U 12GB (hp840G1 mint19.1)

numactl -i all ./randomx --mine --nonces 100000 --init 1 --threads 1

RandomX - mining mode
Initializing (1 thread) ...
Dataset (4 GiB) initialized in 108.793 s
Initializing 1 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 304.541 hashes per second

numactl -i all ./randomx --mine --nonces 100000 --init 1 --threads 2

RandomX - mining mode
Initializing (1 thread) ...
Dataset (4 GiB) initialized in 112.114 s
Initializing 2 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 513.354 hashes per second

numactl -i all ./randomx --mine --nonces 100000 --init 2 --threads 1

RandomX - mining mode
Initializing (2 threads) ...
Dataset (4 GiB) initialized in 60.5406 s
Initializing 1 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 298.663 hashes per second

numactl -i all ./randomx --mine --nonces 100000 --init 2 --threads 2

RandomX - mining mode
Initializing (2 threads) ...
Dataset (4 GiB) initialized in 60.4542 s
Initializing 2 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 502.217 hashes per second

@Minervp
Copy link

Minervp commented Feb 23, 2019

Intel Xeon E5-2651 v2 1.80GHz (2 processors) 8Gb Memory

RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 1.23143 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26
851
Reference result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26
851
Performance: 85.3171 ms per hash

RandomX - mining mode
Initializing (12 threads) ...
Dataset (4 GiB) initialized in 21.3293 s
Initializing 24 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a
225
Performance: 3717.61 hashes per second

@myself42
Copy link

i5-4310U 12GB (hp840G1 mint19.1)

randomx --verify

RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.890826 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Reference result:  d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Performance: 46.1011 ms per hash

randomx --verify --softAes

Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.918776 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Reference result:  d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Performance: 45.9135 ms per hash

@myself42
Copy link

i5-8500 8GB (Windows10beta1803)

randomx --verify

RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.643638 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Reference result:  d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Performance: 31.3919 ms per hash

randomx --verify --softAes

Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.640813 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Reference result:  d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Performance: 33.0118 ms per hash

randomx --mine --nonces 100000 --init 1 --threads 4

RandomX - mining mode
Initializing (1 thread) ...
Dataset (4 GiB) initialized in 82.6982 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 1498.43 hashes per second

randomx --mine --nonces 100000 --init 4 --threads 4

RandomX - mining mode
Initializing (4 threads) ...
Dataset (4 GiB) initialized in 23.553 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 1491.41 hashes per second

randomx --mine --nonces 100000 --init 6 --threads 6

RandomX - mining mode
Initializing (6 threads) ...
Dataset (4 GiB) initialized in 17.3481 s
Initializing 6 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 1706.28 hashes per second

randomx --mine --nonces 100000 --init 6 --threads 5

RandomX - mining mode
Initializing (6 threads) ...
Dataset (4 GiB) initialized in 17.3604 s
Initializing 5 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 1648.45 hashes per second

randomx --mine --nonces 100000 --init 6 --threads 8

RandomX - mining mode
Initializing (6 threads) ...
Dataset (4 GiB) initialized in 17.2848 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 5ae89ddb121558190540372d3b93189b490ba44435dee8c72ebde7cd976d8a5e
Performance: 1700.84 hashes per second

@ghost
Copy link

ghost commented Feb 23, 2019

AMD Ryzen 6 9850 (128 cores) 256Gb Memory

RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.27183 s
Initializing 128 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fs3leefd7ed1cecl73e87c06b4b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result: fs3leefd7ed1cecl73e87c06b4b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 1.3281 ms per hash

@OpticFlowX
Copy link

HP DL580 G7:
4x E7-4830 (24M Cache, 2.13 GHz, 8 core)
64 GB DDR3-1066 (16 modules x 4GB, 16GB quad channel per node)
Ubuntu Server 18.04

verification mode:

$ ./randomx --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 1.6193 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Reference result:  d3ae5a9365196ed48bb98ebfc3316498e29443ea7f056ecbd272f749c6af7730
Performance: 113.487 ms per hash

mining mode (Power Reading at iLO3 = 726 Watts; Idle = 323 Watts)

$ seq 0 3 | xargs -P 0 -I node numactl -N node ./randomx --mine --largePages --nonces 1000000 --init 16 --threads 8
RandomX - mining mode
Initializing (16 threads) ...
RandomX - mining mode
Initializing (16 threads) ...
RandomX - mining mode
Initializing (16 threads) ...
RandomX - mining mode
Initializing (16 threads) ...
Dataset (4 GiB) initialized in 23.0033 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Dataset (4 GiB) initialized in 23.0544 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Dataset (4 GiB) initialized in 23.1518 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Dataset (4 GiB) initialized in 23.2302 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: b13f5038492d3abfd14da6671f92c28456d96c29a5ffb120edac924abe5aabe9
Performance: 1968.31 hashes per second
Calculated result: b13f5038492d3abfd14da6671f92c28456d96c29a5ffb120edac924abe5aabe9
Performance: 1966.13 hashes per second
Calculated result: b13f5038492d3abfd14da6671f92c28456d96c29a5ffb120edac924abe5aabe9
Performance: 1961.65 hashes per second
Calculated result: b13f5038492d3abfd14da6671f92c28456d96c29a5ffb120edac924abe5aabe9
Performance: 1951.87 hashes per second

Single process mining (Power Reading at iLO3 = 704 Watts):

$ numactl -i all ./randomx --mine --largePages --nonces 1000000 --init 64 --threads 32
RandomX - mining mode
Initializing (64 threads) ...
Dataset (4 GiB) initialized in 8.9006 s
Initializing 32 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: b13f5038492d3abfd14da6671f92c28456d96c29a5ffb120edac924abe5aabe9
Performance: 6774.47 hashes per second

@tevador
Copy link
Owner Author

tevador commented Feb 23, 2019

@kdovijak

AMD Ryzen 6 9850 (128 cores)

AFAIK there is no such CPU and also your result doesn't match any version of RandomX. Can you please fix your comment and include the whole command line?

@Minervp
Copy link

Minervp commented Feb 23, 2019

Intel i7-4770 @3.4Ghz

RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.6833 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 31.9503 ms per hash

RandomX - mining mode
Initializing (8 threads) ...
Dataset (4 GiB) initialized in 16.6505 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 1821.36 hashes per second

@ghost
Copy link

ghost commented Mar 22, 2019

Intel Core i5-8250U CPU @ 1.60GHz
8GB DDR4, L3 Cache 6 MB

./randomx --verify --jit
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.767079 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result:  83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 17.7319 ms per hash

./randomx --mine --init 8 --threads 6 --nonces 100000
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 5.66271 s
Initializing 6 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1018.72 hashes per second

Compiled latest commit 2bb4263, Arch Linux, gcc 8.2.1 20181127

xmrig

 * ABOUT        XMRig/2.14.1 gcc/8.2.1
 * LIBS         libuv/1.26.0 OpenSSL/1.1.1b microhttpd/0.9.63 
 * CPU          Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (1) x64 AES AVX2
 * CPU L2/L3    1.0 MB/6.0 MB
 * THREADS      6, cryptonight, av=0, donate=1%
 * ASSEMBLY     auto:intel
 * POOL #1      donate.v2.xmrig.com:3333 variant auto
 * COMMANDS     hashrate, pause, resume
[2019-03-22 21:59:53] new job from donate.v2.xmrig.com:3333 diff 1000225 algo cn/r height 1796490
[2019-03-22 22:00:24] speed 10s/60s/15m 63.3 63.2 63.7 H/s max 66.2 H/s

Compiled latest commit 08ef944

@JustFranz
Copy link

i7 3770K default clocks/ pre-compiled windows

randomx --jit --largepages --verify
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.826405 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 14.0342 ms per hash

randomx --mine --init 8 --threads 4 --nonces 100000 --largepages
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 5.21822 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1130.71 hashes per second

randomx --mine --init 8 --threads 5 --nonces 100000 --largepages
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 4.94119 s
Initializing 5 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1237.48 hashes per second

randomx --mine --init 8 --threads 6 --nonces 100000 --largepages
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 4.91763 s
Initializing 6 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1299.86 hashes per second

randomx --mine --init 8 --threads 7 --nonces 100000 --largepages
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 4.89745 s
Initializing 7 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1321.23 hashes per second

randomx --mine --init 8 --threads 8 --nonces 100000 --largepages
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 4.91558 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1319.53 hashes per second

XMRig 4 threads and large pages

~260 H/s

CNV-4 is fastest at 4 threads, RandomX is fastest at 7 and 8 threads (equal). 4 threads of CNV-4 uses about 50% of the CPU.

Reported CPU usages:

8T 105%
7T 96% (jumps to 100-105%)
6T 83%
5T 70-73% (jumps to 75%)
4T 58% (jumps to 61% and some to 65%)
(reported by windows resource monitor)
Don't know how it translates to actual power draw.
The total hash rate fluctuates by 30-40 H/s

@MaxelsS
Copy link

MaxelsS commented Mar 23, 2019

@JustFranz
Please try running mine:

randomx --mine --init 8 --threads 4 --nonces 100000 --largepages

and immediately after start in the task manager, set affinity at threads 0,2,4,6 and set priority at high. The hashrate should be around 1400 H/s (i think).

@ghost
Copy link

ghost commented Mar 23, 2019

AMD Ryzen 3 2200G

Clocked at 3.20 GHz (Turbo disabled), 16 GB of DDR4-2133 (single channel), NixOS kernel 5.0.2.

with clang 7

bin/randomx --verify --jit
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.912884 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result:  83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 20.1592 ms per hash
bin/randomx --mine --largePages --init 4 --threads 4 --nonces 20000
RandomX - mining mode
Initializing (4 threads) ...
Dataset (2147483648 bytes) initialized in 8.07381 s
Initializing 4 virtual machine(s) ...
Running benchmark (20000 nonces) ...
Calculated result: e2c59dfa0ebbc406c254d2dc4786aadd6f51d5db9f9042a7315ff9068ce29214
Performance: 1025.28 hashes per second

with gcc 7.4

bin/randomx --verify --jit
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.792237 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result:  83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 18.7633 ms per hash
bin/randomx --mine --largePages --init 4 --threads 4 --nonces 20000
RandomX - mining mode
Initializing (4 threads) ...
Dataset (2147483648 bytes) initialized in 7.84895 s
Initializing 4 virtual machine(s) ...
Running benchmark (20000 nonces) ...
Calculated result: e2c59dfa0ebbc406c254d2dc4786aadd6f51d5db9f9042a7315ff9068ce29214
Performance: 1046.7 hashes per second

Intel Celeron G3900 @ 2.80GHz

8 GB of DDR3-1333 (dual channel), NixOS kernel 4.19.29.

with clang 7

bin/randomx --verify --jit
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.931093 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result:  83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 19.5338 ms per hash
bin/randomx --mine --init 2 --threads 2 --nonces 20000
RandomX - mining mode
Initializing (2 threads) ...
Dataset (2147483648 bytes) initialized in 17.1746 s
Initializing 2 virtual machine(s) ...
Running benchmark (20000 nonces) ...
Calculated result: e2c59dfa0ebbc406c254d2dc4786aadd6f51d5db9f9042a7315ff9068ce29214
Performance: 506.463 hashes per second

with gcc 7.4

bin/randomx --verify --jit
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.797594 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result:  83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 19.5869 ms per hash
bin/randomx --mine --init 2 --threads 2 --nonces 20000
RandomX - mining mode
Initializing (2 threads) ...
Dataset (2147483648 bytes) initialized in 17.483 s
Initializing 2 virtual machine(s) ...
Running benchmark (20000 nonces) ...
Calculated result: e2c59dfa0ebbc406c254d2dc4786aadd6f51d5db9f9042a7315ff9068ce29214
Performance: 522.471 hashes per second

@JustFranz
Copy link

@MaxelsS

1 mil nonce, high priority and 0 2 4 6 affinity

--mine --init 8 --threads 4 --nonces 1000000 --largepages
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 5.19807 s
Initializing 4 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: 48f61081409ac4df5ac69d4f7486e43f0baec6b64487eaa2068223002353d659
Performance: 1306.89 hashes per second

@tevador
Copy link
Owner Author

tevador commented Mar 23, 2019

@nioroso-x3 Can you please retest the latest master on big endian? I have fixed some bugs thanks to your test files. If the result still doesn't match the reference, please repeat the same steps as before on the debug branch and send me the 2 files.

@nioroso-x3
Copy link
Contributor

Still doesn't match the reference.
Attached the debug output.

debug_2.zip

@potatored
Copy link

AMD FX(tm)-8320 8 core 4.00 GHz 8 GB RAM Windows 10

randomx.exe --verify --jit
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 1.31985 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 17.9803 ms per hash

randomx.exe --mine --largePages --init 8 --threads 8 --nonces 100000
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 4.976 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1911.04 hashes per second

@tevador
Copy link
Owner Author

tevador commented Mar 25, 2019

@nioroso-x3 I have pushed a possible fix directly into the debug branch. Please run it and see if the final hash at the bottom is aaa98cb5e9dcfc7e398057d842951a18. If not, please post again the two files. Thanks!

@nioroso-x3
Copy link
Contributor

Nope, still doesn't match LE x86
debug_3.zip

@dfg3hz5zqtwz46hw6
Copy link

dfg3hz5zqtwz46hw6 commented Mar 29, 2019

Intel i7-4790K CPU @ 4.00GHz
16 GB DDR3-1866 RAM
Windows Version 10.0.17134 Build 17134

randomx --verify
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.684272 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 25.7942 ms per hash

randomx --mine
RandomX - mining mode
Initializing (1 thread) ...
Dataset (2147483648 bytes) initialized in 21.8691 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 531.434 hashes per second

randomx.exe --mine --largePages --nonces 1000000 --init 8 --threads 4
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 3.64585 s
Initializing 4 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: 48f61081409ac4df5ac69d4f7486e43f0baec6b64487eaa2068223002353d659
Performance: 2458.7 hashes per second

@MoneroChan
Copy link

Noob Question: Does Hashing in 'Verify mode' earn you any Moneroj ? or is it just for client/nodes, etc?

@tevador
Copy link
Owner Author

tevador commented Apr 12, 2019

@MoneroChan 'Verification mode' produces the same results as 'mining mode', it's just much slower. So you could theoretically mine with it, but it would be very inefficient.

@miki-bgd-011
Copy link

How far are we from the final release and testnet launch?

@SChernykh
Copy link
Collaborator

@miki-bgd-011 Code freeze will happen in the end of April. We need to fix #34 and #35 first. After that, only critical bugs/weaknesses will be fixed and some parameter tuning might also happen. Pool/miner implementations can already be started in May.

@miki-bgd-011
Copy link

Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (8 cores/16 threads)
Ubuntu 18.10
64GB DDR4 2400 MT/s

./randomx --verify
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.475186 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 42.8106 ms per hash

root@public ~/randomx # ./randomx --mine --largePages --init 8 --threads 8 --nonces 100000
RandomX - mining mode
Initializing (8 threads) ...
Dataset (2147483648 bytes) initialized in 3.19008 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 3553.58 hashes per second

@miki-bgd-011
Copy link

Intel(R) Core(TM) i9-7900X CPU @ 3.30GHz (10 cores/20 threads)
Ubuntu 18.04.2 LTS
32GB DDR4 2133 MT/s

./randomx --verify
RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.647607 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 24.2587 ms per hash

./randomx --mine --largePages --init 10 --threads 10 --nonces 100000
RandomX - mining mode
Initializing (10 threads) ...
Dataset (2147483648 bytes) initialized in 3.3176 s
Initializing 10 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 4346.47 hashes per second

@MoneroChan
Copy link

Intel Core 2 Duo E8400:
CPU Utilization: 47% @ 2.76Ghz
RAM: 8GB Dual Channel DDR3 1333Mhz

randomx.exe --mine --init 1 --threads 1 --largePages --softAes --nonces 100000
Using software AES.
RandomX - mining mode
Initializing (1 thread) ...
Dataset (2147483648 bytes) initialized in 41.765 s
Initializing 1 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 169.612 hashes per second

@MoneroChan
Copy link

Single Channel DDR4 Bottleneck Experiment
RAM: SINGLE Channel 4GB DDR4 2472Mhz, CMD 2T, CL14,14,14, 36 (3% Chipset OC)
CPU: Ryzen 1700 : CPU Utilization: 50% @ 3.50Ghz (17% OC)
Wall Power Draw: 113 Watts., Idle 53W

randomx.exe --mine --init 2 --threads 8 --largePages --nonces 100000
RandomX - mining mode
Initializing (2 threads) ...
Dataset (2147483648 bytes) initialized in 11.9769 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 3834.15 hashes per second

Note: CPU Utilization says 50% probably as it's just an artifact due to hyperthreading.

@tevador I suspect DDR4 can hit 4000H/s single channel with good OC as I didn't even try to OC the Ram properly (just dropped CAS -1).

@SChernykh
Copy link
Collaborator

Ryzen 7 1700 @ 3.6 GHz, dual channel DDR4-2666, 14-16-16-35

RandomX - mining mode
Initializing (16 threads) ...
Dataset (2147483648 bytes) initialized in 2.38846 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 4848.21 hashes per second

@dan0v
Copy link

dan0v commented Apr 30, 2019

Windows 10 Pro
Intel i5-4670k @4.4GHz
16gb DDR3 dual channel 1600MHz
Verification mode:

>randomx --verify --softAes --jit

RandomX - verification mode
Initializing ...
Cache (268435456 bytes) initialized in 0.695326 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Reference result:  83875c55fb9ff4a75205a744b82926ebbe23219c6291889c9ee91603c845c597
Performance: 16.1504 ms per hash

Mining mode:

>randomx --mine --init 4 --threads 3 --nonces 100000

RandomX - mining mode
Initializing (4 threads) ...
Dataset (2147483648 bytes) initialized in 7.14755 s
Initializing 3 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 6ec7cc7d58d6519de63ae4440e81b8c1db6335c032f229373e02bdd81a24b160
Performance: 1037 hashes per second

@jbgetho
Copy link

jbgetho commented May 4, 2019

Dual 7501 64 core 2GHz

seq 0 7 | xargs -P 0 -I node numactl -N node ./benchmark --mine --init 8 --largePages --threads 8 --nonces 100000 --jit

<..cut..>

Memory initialized in 5.89165 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 3135.7 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 3129.64 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 3127.32 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 3128.92 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2963.62 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2954.26 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2950.27 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2945.87 hashes per second

@jbgetho
Copy link

jbgetho commented May 4, 2019

Dual 7601 64 core 2.2GHz
( slower than 7501 probably due to host memory configuration )

seq 0 7 | xargs -P 0 -I node numactl -N node ./benchmark --mine --init 8 --largePages --threads 8 --nonces 100000 --jit

<..cut..>

Memory initialized in 6.64818 s
Initializing 8 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Performance: 3119.66 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2983.64 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2968.91 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2927.5 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2793 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2723.59 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2692.86 hashes per second
Calculated result: 47aa6b64fd89069a4decfa9bda2d618ab15cfd112d310e0ac17a6c6c1b94a253
Performance: 2438.53 hashes per second

@tevador tevador closed this as completed May 5, 2019
@toweryu
Copy link

toweryu commented Jun 15, 2019

Raspberry Pi 3

ARM Cortex-A53, 1.2 GHz, 1 GB LPDDR2, Ubuntu 16.04 armv7l (32-bit), compiled with GCC 8.1.0

> bin/randomx --verify --softAes
Using software AES.
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 8.55579 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 578.734 ms per hash

AMD Ryzen 7 1700

Clocked at 3.35 GHz (Turbo disabled), 16 GB of DDR4-2933 (dual channel), Ubuntu 16.04 x86_64, compiled with GCC 8.1.0

> bin/randomx --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.6282 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 55.5542 ms per hash
> bin/randomx --mine --largePages --init 16 --threads 8 --nonces 1000000
RandomX - mining mode
Initializing (16 threads) ...
Dataset (4 GiB) initialized in 9.40938 s
Initializing 8 virtual machine(s) ...
Running benchmark (1000000 nonces) ...
Calculated result: 9979734c3f8a2f665810851050aaf8a63d6bc9810cfecee9d55a3706a81266fd
Performance: 4124.02 hashes per second

Intel Core i7-8550U

Boosts to ~3.5 GHz at the beginning, then throttles down to ~2.4 GHz (mining mode).
16 GB of DDR4-2400 (dual channel), Windows 10 64-bit, compiled with Visual Studio 2017 15.8.3

>randomx.exe --verify --largePages
RandomX - verification mode
Initializing ...
Cache (256 MiB) initialized in 0.576263 s
Initializing 1 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Reference result:  fe31e8fd7ed1cec773e87c0684b66b38e58b23ab255e8f9c6b62745e43a26851
Performance: 28.8373 ms per hash
>randomx.exe --mine --largePages --init 8 --threads 4 --nonces 100000
RandomX - mining mode
Initializing (8 threads) ...
Dataset (4 GiB) initialized in 14.2439 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: abe4b79b0439e54e2896e0134cc89c8bb1b7a378192095efc690f8f85699a225
Performance: 1678.74 hashes per second

Why my laptop hashrate is so low?(Intel Core i7-8550U 16 GB of DDR4-2400 Win10 home edition )
D:>randomx.exe --mine --init 8 --threads 4 --nonces 100000
RandomX benchmark

full memory mode (2080 MiB)
interpreted mode
hardware AES mode
small pages mode
Initializing (8 threads) ...
Memory initialized in 174.068 s
Initializing 4 virtual machine(s) ...
Running benchmark (100000 nonces) ...
Calculated result: 9b22794882187000d62c6d2b228fab5e585767aaaa5eb74905b0c7c00fcbdad8
Performance: 123.671 hashes per second

And largePages parameter is failed on my laptop。
D:>randomx.exe --verify --largePages
RandomX benchmark

  • light memory mode (256 MiB)
  • interpreted mode
  • hardware AES mode
  • large pages mode
    Initializing ...
    ERROR: Cache allocation failed

@tevador
Copy link
Owner Author

tevador commented Jun 15, 2019

Why my laptop hashrate is so low?

It's because you are running the interpreter mode. Add the --jit option to use the compiled VM.

And largePages parameter is failed on my laptop

You need to enable the "Lock Pages in Memory" policy for your account. Use google search if you don't know how to do it.

@toweryu
Copy link

toweryu commented Jun 16, 2019 via email

@ach1000
Copy link

ach1000 commented Jul 5, 2019

AMD FX-6300 (6 core, DDR3) w/ large pages:

$ ./benchmark --mine --jit --threads 6 --init 6 --largePages
RandomX benchmark
 - full memory mode (2080 MiB)
 - JIT compiled mode
 - hardware AES mode
 - large pages mode
Initializing (6 threads) ...
Memory initialized in 9.73347 s
Initializing 6 virtual machine(s) ...
Running benchmark (1000 nonces) ...
Calculated result: 669ae4f2e5e2c0d9cc232ff2c37d41ae113fa302bbf983d9f3342879831b4edf
Reference result:  669ae4f2e5e2c0d9cc232ff2c37d41ae113fa302bbf983d9f3342879831b4edf
Performance: 1507.06 hashes per second

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests