Difference between two dates in seconds
flupke
flupke at nonexistingdomain.com
Thu Sep 28 03:00:44 EDT 2006
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
More information about the Python-list
mailing list