On Tue, 05 Jan 2016 07:39:31 -0600, Alexander Shopov wrote: > > > break up your big function into small ones. > Apart from the obvious maintainability concerns - is there some rule > of thumb - how big a function shoul be in order to be inlined either > compile time or run time. If a code path is hot - what could stop the > inlining?
While there's a hard size limit beyond which functions can't get inlined, inlining most often stops because it performed "enough" inlining starting from a given call site. For each call site, the inliner starts with some amount of "fuel", which is consumed after each successful inlining, proportional to the size of the inlined function. Once the profiler runs out of fuel, it stops. If you're interested in learning more about how the profiler affect your programs, try the Optimization Coach DrRacket tool, which reports on (among others) what the inliner does. Vincent -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.