On Mon, Aug 31, 2009 at 2:20 PM, Antoine Pitrou <solipsis@pitrou.net> wrote:
Gregory P. Smith <greg <at> krypto.org> writes:
> food for thought as noticed by a coworker who has been profiling some hot code
to optimize a library...If a function does not have a return statement we return
None.  Ironically this makes the foo2 function below faster than the bar2
function at least as measured using bytecode size

I would be surprised if this "bytecode size" difference made a significant
difference in runtimes, given that function call cost should dwarf the cumulated
cost of POP_TOP and LOAD_CONST (two of the simplest opcodes you could find).

the attached sample code repeatably shows that it makes a difference though its really not much of one (2-3%).

I was just wondering if a bytecode for a superinstruction of the common sequence:

             6 POP_TOP            
              7 LOAD_CONST               0 (None)
             10 RETURN_VALUE       

might be worth it.