Over and over again, I've found that via the implicit access debugging shows that the arguments scope is a real bottleneck for Lucee applications. I guess this is partly due to the local scope taking precedence over arguments.
But I just ported an old cf8 application across and I could only achieve the same CF8 performance after scoping all the arguments.
A lot of the PRs I have made for Lucee all involved just var scoping arguments, often inside tiny functions, which produced huge performance increases.
I know there is some overhead with debugging, the unscoped variable debugging bypasses certain scopes like UDF this, super and static.