Re:Want cleaner code? Use the rule of six
by marginalia_nu on Saturday September 24, 2022 @03:51PM
(#32966025)
Can't be many languages where that matters in 2022. Auto-inlining of short functions was a thing in the 1990s.
[ Parent
| on HN ]
Re:Want cleaner code? Use the rule of six
by extasia on Sunday September 25, 2022 @10:08AM
(#32971481)
This may be true for compiled langs. In interpreted langs this is not the case. Function calls in Python for example are notoriously expensive.
Beat me to it. Yes, I ran a quick benchmark[0] and not running a function always wins. now, one may argue that you are running a call, but if the interpreter was smart it would convert the small function calls to just a noops.
[0]: https://github.com/Nomarian/crapbenchmarks/tree/main/call
Summary
'Perl/nofunc' ran
1.63 ± 0.30 times faster than 'Perl/func'
1.73 ± 0.34 times faster than 'Lua/nofunc'
2.11 ± 0.55 times faster than 'Lua/func'
9.37 ± 1.62 times faster than 'Python/nofunc'
12.18 ± 1.90 times faster than 'TCL/nofunc'
16.02 ± 2.58 times faster than 'TCL/func'
18.64 ± 3.02 times faster than 'Python/func'