On Tue, 8 Aug 2006, Johannes Berg wrote: > Sheen, Tony wrote: > > For maintainability, the worst program I ever worked on had just a single > > function - main() - but it ran like greased lightning which was the main > > requirement! Formatting it nicely with 'proper' functions reduced its speed > > by almost 15%. > > > I'm curious on what kind of machine all this has happened. Shouldn't, on > a modern system/CPU, a small and often-used function be more efficient > than inlining it everywhere because it'll stick in the CPU cache?
Tony didn't say anything about often-used functions - maybe there weren't any. I'm no expert in this stuff, but even if there was an often-used function, does having it in a memory cache balance the loss incurred by breaking the instruction pipeline to go in and out of a function? (Not to mention the cost of saving/restoring registers.) I dunno - one would have to measure these things, and certainly the hardware architecture could have a significant effect. Note also that inlining small functions is a common optimising feature of compilers. There must be a reason for it... -- Philip Hazel University of Cambridge Computing Service Get the Exim 4 book: http://www.uit.co.uk/exim-book -- ## List details at http://www.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
