Post
Topic
Board Mining (Altcoins)
Re: [ANN] NiceHash Control 1.1.1 - Auto profit switching control for NiceHash servic
by
anon42
on 16/07/2014, 22:04:53 UTC
Nice tool. Good work.

Just one little feature request: Auto-tuning for hash rate.

Pseudo-code:

Code:
@startup (all algos):
speed = read_cache_file()
if (speed.remember != configfile.speed) {
  speed.remember = configfile.speed
  speed.current = configfile.speed
  speed.max = 0
}
// to reset the speed just change the value in the config file

@every 5 minutes (active algo):
if (activity.accept > 0) {
  speed.current = (speed.current*95 + activity.accept*5) / 100
}
if (speed.current < configfile.speed and speed.current > speed.max) {
  speed.max = speed.current
}

@every 5 minutes (inactive algos) (optional):
if (speed.max > 0) {
  if (speed.max > speed.current) {
    speed.current = (speed.current*99 + speed.max*0.9) / 100
    // need to test if 0.9 or 0.95 or 0.85 works better
  }
} else {
  speed.current = (speed.current*99 + configfile.speed*1) / 100
}

@every 5 minutes:
save_cache_file()


I chose 5 minutes and 5% because I like the reaction that gives. It isn't too jumpy but still follows reasonable fast. A "half change" is an hour and a "full change" takes 12 hours. However, to avoid flickering when two algos are very close, a >10 minutes switchtime may be advisable.

The optional block is to recover deteriorated values. That way a "bad" pool won't kill an algo for good. With this enabled algos might flicker somewhat if the configfile speeds are (much) too high, or not recover if they are too low, so the user should have an eye on the auto-tuned values for a while and adapt the config file if that happens.