CMIIW: The only thing a `new` usually does is, initialize a variable. You don't allocate any variables at runtime, because PAWN is a statically compiled language - there are no runtime allocations*.
While the second example might theoretically be faster.. instead of thinking about micro- and premature optimization, think about code readability (magic numbers, variable names, function names, layout of the code, indentation, verbosity), design (apply programming patterns that suit the use case, manage responsibilities, don't make spaghetti-intertwined dependencies, dependency loops, logical units/modules, etc), profiling real bottlenecks and future maintainability (would you, or someone else, still understand what your code does 6 months from now, 2 years from now, 10 years?).
* - Unless some functions offer that, e.g. via plugins.
While the second example might theoretically be faster.. instead of thinking about micro- and premature optimization, think about code readability (magic numbers, variable names, function names, layout of the code, indentation, verbosity), design (apply programming patterns that suit the use case, manage responsibilities, don't make spaghetti-intertwined dependencies, dependency loops, logical units/modules, etc), profiling real bottlenecks and future maintainability (would you, or someone else, still understand what your code does 6 months from now, 2 years from now, 10 years?).
* - Unless some functions offer that, e.g. via plugins.