Uvm_monitor code optimization

In reply to MICRO_91:

Why are we checking at every clock edge? we should check for transaction only when we are driving the transaction. Don’t you think checking at every edge is not optimized way?