Any attempt to improve speed of any piece of code without profiling it first.
Worrying about function speed when you don’t know how many millions of times it will be called is also premature optimization.
The term was probably coined by Donald Knuth. You can google it.
No, that’s readability and that one is done specifically to reduce maintenance cost.
You’re appear to be trying to turn that into semantic argument by shifting meaning of “optimization”. Please don’t do that. In this context “optimizations” refers to “performance optimization” only.
The reason why premature optimization is bad is because person performing it wastes development time without getting tangible benefit. Humans make mistakes. If you think that “this will be slow”, but you haven’t measured it, then you’re wrong by default.
Anything that is part of the language is not “my thing”. It is part of the language. Feature available in language takes precedence over feature available in framework, which takes precedence over feature created by you, unless there is a good reason. Type like FString and FName has a good reason to use it. However, that does not necessarily apply to FMath functions.
Now, what is a good reason to avoid round() function from cmath?
The first person for which code readability is important is you, because in few weeks or months you’ll forget what this subroutine is doing. Then it is your team. “Other unreal devs” only enter the picture if you’re planning to share the code OR preparing engine patch for submission.
I don’t like the tone this thread is taking. Is the point where we start insulting each other due to having different programming opinions?