hmerijn brand ktnrvaexs4allnl mon 22 oct 2007 220919 0600 jim cromie wrote would measurement even necessary would macro faster function call true inlined function calls macros basically accomplishing thing always better speed someone would implement finlineeverything doesnt need exported recursive gcc wed use ive read inlining many things wrong things tends defeat compiler microoptimizations making harder decide allocate registers local variables going b bloat code increasing chances wont fit processors instruction cache er um im exactly sure youre getting realize spoke soon rather commented something dont really know im talking ill withdraw said thats okay folks hard overstate importance cache performance question paper httpwwwcsmuozaunjnpubscachelargelazy2002ps figures comparing cachegrind results hardware counter results werent bad looks cache ghc haskell written one valgrinds major contributors great read repeat execution cost model sect 5 cycles 08i 12c1 206c2 10b iinstructions c1c2 d1 d2 cache misses b mispredicted branches model see cost cache misses massive macro question expanded many times hot code could see contributing cache thrashing hysterical raisins dont use static inline functions preference macros still portability issues would easier inline outline see effect theres also excellent series articles lwnnet memory httplwnnetarticles250967 httplwnnetarticles252125 httplwnnetarticles253361 httplwnnetarticles254445 ive heard gcc os compile options yield fastest code though cant recall apps note oss use gcc compiler build perl microoptimizing gcc might slow perl seriously aix xlc hpux hp cansic vcc vms compiler crays compiler etc hmerijn brand amsterdam perl mongers httpamsterdampmorg using porting perl 562 58x 510x hpux 1020 1100 1111 1123 suse 101 102 aix 52 cygwin httpqaperlorg httpmirrorsdeveloopercomhpux httpwwwtestsmokeorg httpwwwgoldmarkorgjeffstupiddisclaimers thu 07 aug 2008 004330 0200 code freeze