Doing stuff with a DocChanged Event

I’m curious to hear the thoughts of others on this subject. I have a Dockable Panel that I want to update if certain things are changed in document. Which scenario would be most efficient when the docchanged event is fired:

1: iterate through the elements that were added, changed, and deleted from the model and then update the panel if any of the elements meet the criteria.

2: update the Panel everytime the event is fired, regardless of what was added, changed, or deleted.

It depends on the amount of data, but I would stick to the first version, not to have related issues later on.