Zcbenchmark Questions

I am running an 8 core machine using zcbenchmark with my config file gen set to 1 and getting ~30 second average solve times but when I put my gen to -1 I am getting approximately ~50 second solve times. Does the gen -1 setting increase the number of solves I am doing at once and should this be the preferred setting for maximizing my hash rate?

If you’re mining, particularly when using extra cores, the benchmark has to compete with a lot of additional memory access.

For overall mining though which one would be more efficient, -1 or 1?

That comes down to trial and error. If you were able to test against a particular difficulty rating you could compare the number of blocks found in a given number of hours mining with one core against two (and then three, four, etc) cores.

It’s common for systems to have more than one memory channel but I’m yet to see a reliable way to exploit that bandwidth… Point being that it will take experimentation to get the most out of whatever hardware you’re mining with.

Setting gen=-1 is very likely equivalent to setting gen=1 since it’s not zero.

This setting is simply yes or no - to generate coins or not.

I thought setting gen to -1 maxed the amount of threads that were possible to run on the machine? I would imagine this would have some kind of impact versus setting it at 1

https://github.com/zcash/zcash/blob/master/src/util.cpp#L336

Looks to me like it’s a boolean value, I set threads with genproclimit.

1 Like

Oh wow thank you for clearing that up. My fault completely. And well that leads me to the next question. What I meant here was genproclimit then. I will have to play around with it but if anyone wants to point out their findings whether it’s typically more efficient to max out genproclimit or keep it at 1 that would be appreciated. If not I’ll post my results tomorrow!

gen is a boolean (1 or 0). genproclimit is a number (1 or more threads, or -1 for as many threads as cores).