Chris Down wrote:
You don't use heuristics when you have access to the underlying
mechanisms, that's an extremely poor way to program, and an extremely
good way to accrue technical debt.
--
Mike Frysinger wrote:
as soon as you talk about trying to time something, you're obviously looking
at it wrong. having a system that only works when the cpu/disk is fast and
idle is a waste of time and bad for everyone.
---
BTW -- as far as using heuristics and timing and whether or not that
is "bad", you might check to see how the the linux kernel is written.
As an example, I saw this today:
http://oss.sgi.com/pipermail/xfs/2014-March/034977.html
It talks about using a speculative heuristic with a timing window
to trim speculation. I've seen other similar algorithms in the kernel
as well.
Using heuristics and timing to adapt to external behaviors is an
advanced programming method -- the key is knowing when to use it.
It really is entering into the realm of AI programming.