Title: very slow rate of nonce2 cycling through iteration process in cgminer Post by: citb0in on November 06, 2022, 09:57:03 AM Hi all,
I am using cgminer 4.12.0 and mining against bitcoind @localhost. The hardware used is an ASIC miner GekkoScience Compac F USB miner at an average hash rate of 387 GH/s. In cgminers' source code I have testwise increased the default timeout of 5sec (https://bitcointalk.org/index.php?topic=5419549.msg61247005#msg61247005) in the watchpool_thread function and raised it to a value higher than 5 minutes. By this it allows the threads to iterate and cycle through many nonce2 values. I was interested to see how fast cgminer cycles through the nonce2 range which is from 0-18446744073709551615 Quote Started with nonce2=0 [2022-11-06 10:31:03.924] Work nonce2 0 ntime 63677a79 Ended with nonce2=15478 [2022-11-06 10:36:03.922] Work nonce2 15478 ntime 63677a79 The result was: it cycled through 15478 values within 5 minutes. The rate therefore was 3095.6 values/min. I consider this horribly slow. Summary: This USBminer is able to cycle through the nonce range (2^32-1) from 0-4294967295 90 (!) times per second, that is the expected hashrate of 387 GH/s which the miner is capable of. But it can only cycle through 15,479 values for the nonce2 field which is a hashrate of 3,1 KH/s I understand that when going through the nonce2 range, the Merkle root has to be regenerated each time, but the scale can't be that huge. So what explains this extremely large difference in processing rate ? I look forward to helpful answers and thank you all in advance EDIT: One additional question. How can I display the nonce's that were used and tested so far in cgminers output/log when in debug mode? I tried this: Code: [...] https://i.ibb.co/6JY483H/nonce-always-zero.png Title: Re: very slow rate of nonce2 cycling through iteration process in cgminer Post by: n0nce on November 07, 2022, 12:54:02 AM First of all, this is wrong:
the nonce2 range which is from 0-18446744073709551615 And this is right: the nonce range (2^32-1) from 0-4294967295 From your other topic, it appears to me that you just removed the timer (or set it to a very long number) that resets the nonce to 0 and creates a new block template with a new timestamp. Is that what you're doing? Quote Started with nonce2=0 [2022-11-06 10:31:03.924] Work nonce2 0 ntime 63677a79 Ended with nonce2=15478 [2022-11-06 10:36:03.922] Work nonce2 15478 ntime 63677a79 I would be very surprised if it doesn't reach 232-1 within 5 minutes. Then, if you fancy it, reduce your measurement time to 1 minute or so until it doesn't hit it. Or add a counter which keeps track of how many times nonce2 wrapped around. I'm very interested in seeing your results. |