v1 Lancelot (stock voltage) after 10 hours with --icarus-timing long i get better results:
A:3617 R:59 HW:92 U:5.5
Don't forget that long (and short) depends on how idle the computer is.
long of course will keep correcting that forever, but short stops after a while and uses what it's worked out up to then.
The problem with both is that on a variable clock, it will sometimes be too long ... if the clock goes up by even 2%.
If you have a static clock then no issues, but you can then also use what's described below anyway.
However with a variable clock:
The fix is to actually specify the values.
It doesn't matter if they are a little out - that will only affect the MH/s reported ... as long as it's not too far out.
Try this instead:
(2ns) (Hs) means it clocks at 435MH/s (instead of 380MH/s) which just means that the MH/s reported will not be correct1/(2x10^-9) H/s70
(7.0s) (read_count) will be OK up to 613MH/s(2^32/(70/10)) H/s
The issue of the '70' value is it MUST be less than the time it takes to check the full nonce range.
The closer it is to the correct time, the lower the overhead of getting more work.
That overhead is, however, very, very small.
It determines how much of each nonce range is checked (unless a share is found) but aborting early doesn't affect the probability of finding shares.
Normally the '70' (read_count) is calculated from the other Hs valueinfo->Hs = Hs / NANOSEC;
info->fullnonce = info->Hs * (((double)0xffffffff) + 1);
info->read_count = (int)(info->fullnonce * TIME_FACTOR) - 1;
Hs=2 TIME_FACTOR=10 NANOSEC=10^9
The internal usage of the '2' value ensures correct MH/s display when a share isn't found.
P.S. I failed electrical engineering and got a Comp Sci degree