Fredrik Lundh schreef: <snip> > >>>> def get_seconds(td): > ... return td.days * (24*60*60) + td.seconds > ... >>>> import dis >>>> dis.dis(get_seconds) > 2 0 LOAD_FAST 0 (td) > 3 LOAD_ATTR 0 (days) > 6 LOAD_CONST 4 (86400) > 9 BINARY_MULTIPLY > 10 LOAD_FAST 0 (td) > 13 LOAD_ATTR 1 (seconds) > 16 BINARY_ADD > 17 RETURN_VALUE > > </F>
Ha, i didn't know about the dis module. Looks fun. I get these results: >>> def get_seconds(td): ... return td.days * (24*60*60) + td.seconds ... >>> dis.dis(get_seconds) 2 0 LOAD_FAST 0 (td) 3 LOAD_ATTR 1 (days) 6 LOAD_CONST 1 (24) 9 LOAD_CONST 2 (60) 12 BINARY_MULTIPLY 13 LOAD_CONST 2 (60) 16 BINARY_MULTIPLY 17 BINARY_MULTIPLY 18 LOAD_FAST 0 (td) 21 LOAD_ATTR 2 (seconds) 24 BINARY_ADD 25 RETURN_VALUE >>> def get_seconds2(td): ... return td.days * 86400 + td.seconds >>> dis.dis(get_seconds2) 2 0 LOAD_FAST 0 (td) 3 LOAD_ATTR 1 (days) 6 LOAD_CONST 1 (86400) 9 BINARY_MULTIPLY 10 LOAD_FAST 0 (td) 13 LOAD_ATTR 2 (seconds) 16 BINARY_ADD 17 RETURN_VALUE Using 86400 instead of (24*60*60) is faster Benedict -- http://mail.python.org/mailman/listinfo/python-list