Backing up a level: what is the underlying concern here? Why do we want efficiency?
Some possibilities might include:
- Preferring less delay between making a change and seeing Tinderbox respond to the change.
- Preferring to reduce power consumption.
- Concerns over interference with other CPU-hungry processes.
- Traffic jams, where Tinderbox can't finish evaluating all the rules before it's time to start over again.
- Something else.
My impression is that, for most projects and most people, none of these concerns are likely to matter. So, most of the time, efficiency is good for style points and that’s about all.
Agents tend to do less computational work than rules, and edicts do less computational work than agents. This can matter for battery life or for interference with other processes, things that might be a concern, for example, if (a) you spend a lot of time on intercontinental flights, or (b) you're a professional film editor and you're working on location.
The problem of traffic jams used to be real. I've heard of only one potential case with Tinderbox Six, though, and unless you're doing really wild things with rules, it's not going to be a problem for you.
But, also, it's always satisfying to do things well. There's no point in making your computer do more work than necessary; it doesn’t
care one way or another, but it's nicer to say
inside(/archives) & $Text.contains(....some complex expression....)
where we reject 95% of the cases instantly because they’re not in the archives, than the equivalent
$Text.contains(....some complex expression....) & inside(/archives)
where we do lots of work to find notes with a complicated expression, but often then throw it away because, no, that note isn't inside archives so never mind. Our slaves of sand and steel don’t actually care either way, but our sympathy suggests that it's better not to do the extra work.