Which method is more efficient when creating tags for my UDT

I'm creating a UDT to create tags based on EAM edge system (master/backup) tags. Since I can't seem to put a template in a template when using an expression, i.e. {[system]path/to/{sitename}/tag} - I started using reference tags for memory and CPU on each node, and then an expression tag to get the max of the two. I also realized I could create a single tag using something like this:

max(tag('[System]Gateway/EAM/Agents/'+{site}+'/Master/Metrics/System/CPU Usage.value'), tag('[System]Gateway/EAM/Agents/'+{site}+'/Master/Metrics/System/CPU Usage.value'))

However, I'm concerned about resources and what to keep this as light as possible. Is it better to create three tags, two references, and one expression or a single expression using the max() and tag() functions?