The condition loop of a trigger seems to keep running even when a non-repeatable trigger has already been activated (i.e. condition is already true). This appears unnecessary and wasteful - why check for the truth of a condition that is already true, if you only need to check once?
Additionally, according to @dedmen from #feedback_tracker on the Arma 3 Discord server, it also builds thisList after the trigger has been triggered:
Dedmen - 06/24/2017
SuicideKing Can confirm that. It first checks the condition and after it has the result it checks if the Trigger can even be triggered.
Not only that but it also prepares the list of vehicles in side the trigger every time. Even though it can never trigger.
So.. Onto the Feedback tracker with that
This could be a major issue for large trigger areas, or a lot of triggers in missions. Looks like a major optimisation opportunity to me.