Some optimizations...

Prevent DB query by using defined() to test if object exists.
This is because string context is overloaded and will cause a query.
Enhance benchmark script.  Only pull targets if we don't already have them.
Use an update trigger too.
Checkpoint