What is more efficient - a local reference or an event?

I’m currently thinking ahead at the moment to when I create an panel in my game that shows character HP which is updated in real time.

There are two possibilities that I have come up with to implement this, either use C# events or create a local variable in a script that on Start() retrieves a reference to the panel code via a one time GetComponent() call.

Which would be more efficient/easier to maintain and implement. Or perhaps there’s another way all toogether?

The most efficient solution would be to have the panel store a reference to the component with the HP. Then the panel code can read the current HP value directly from a public field or property, both of which are fast (though the field is faster).