3

Using Geth I am running a private development chain (locally) with one node, starting it as follows:

geth --networkid 12321 --datadir=".embark/development/datadir" --password config/development/password  --port 30303 --rpc --rpcport 8545 --rpcaddr localhost --rpccorsdomain="http://localhost:8000"  --nodiscover  --maxpeers 0 --shh  --rpcapi "eth,web3,net,debug,shh" --unlock=fbc1c3543c4971830a9e8881b6962ba259463cd4

After starting my chain I attach to the console and start mining using miner.start(x). Varying x from 1 to 8 (stopping and restarting the miner inbetween) and listing the eth.hashrate every 3 seconds I get the following results on Geth 1.4.8 :

seconds / minerthreads 1   2   3   4   5   6   7   8
3   163804  534654  1032696 1691585 2516436 3128223 4336736 2844468
6   166380  552537  1104148 1635515 2488254 3417330 1618096 5044077
9   166454  554247  1095552 1774365 1634148 2547937 2584344 5110128
12  167550  507351  1107804 1157920 1486980 3377549 4112176 5161716
15  168180  248319  1107988 1256980 2496024 2940476 2685064 4285350
18  168334  545436  1110996 1704495 2496102 3409616 2957024 3522267
21  169214  557031  1101408 1706230 2540106 3405626 3057416 5168835
24  158914  559053  1102324 1710690 1843908 2127790 4333240 4126896
27  166354  561096  1106440 1042095 2508072 2841391 4404528 4932090
30  169478  558948  1102528 1792275 2453682 3398150 3409672 3230343

Doing exactly the same on Geth 1.7.1 gives me :

seconds / minerthreads 1   2   3   4   5   6   7   8
3   117238  70030   97548   108234  113852  135772  182919  215456
6   117238  74910   105468  108234  125709  148161  192858  221309
9   111532  79401   105468  114761  125709  157421  192858  221309
12  111532  79401   112755  121954  137666  157421  202570  226993
15  107331  83532   112755  121954  146379  166842  202570  235580
18  103465  83532   119460  129495  146379  166842  208381  235580
21  103465  87333   124828  129495  158255  177161  216400  242065
24  99384   90948   124828  136601  158255  185004  216400  242065
27  99384   90948   130044  142447  165521  185004  223500  245388
30  96154   94156   130044  142447  173246  191950  223500  250704

I'm not sure how to interpret these results:

  • I would assume assigning more threads to my miner would give a higher hashrate, which seems to be the case in 1.4.8 but not so much in 1.7.1?
  • Why is my hashrate significantly lower in 1.7.1 (although the block frequency does seem to happen more steadily and averages more around the 12 second block times)?
  • Do these numbers prove anything in terms of 'performance' of my node?

Apologies if these questions have already been answered somewhere, I've roamed around various SE/wiki/github pages but wasn't able to find the answers I was looking for.

  • 1
    Since geth v1.6.0 there's a new implementation of ethash. But in any case it doesn't seem like geth is optimized for mining. – Ismael Oct 6 '17 at 3:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.