I know how scala by-name parameters work: https://tpolecat.github.io/2014/06/26/call-by-name.html
I'm using it in a very sensitive piece of code that gets run a lot. My questions is: Is there any performance or memory drawback? For example, I know using lazy val has its drawbacks: What's the (hidden) cost of Scala's lazy val?
Is there something similar about by-name parameters? How are they implemented underneath?
Please note I will NOT be using it with lazy for caching. So I wouldn't have that above mentioned problem. I just need to know under the hood it's not using lazy itself.
Thanks