Show More
@@ -5,7 +5,7 b' General purpose utilities.' | |||
|
5 | 5 | This is a grab-bag of stuff I find useful in most programs I write. Some of |
|
6 | 6 | these things are also convenient when working at the command line. |
|
7 | 7 | |
|
8 |
$Id: genutils.py |
|
|
8 | $Id: genutils.py 2108 2007-02-23 00:31:17Z fperez $""" | |
|
9 | 9 | |
|
10 | 10 | #***************************************************************************** |
|
11 | 11 | # Copyright (C) 2001-2006 Fernando Perez. <fperez@colorado.edu> |
@@ -163,16 +163,34 b' StringTypes = types.StringTypes' | |||
|
163 | 163 | # If possible (Unix), use the resource module instead of time.clock() |
|
164 | 164 | try: |
|
165 | 165 | import resource |
|
166 | def clock(): | |
|
167 | """clock() -> floating point number | |
|
166 | def clocku(): | |
|
167 | """clocku() -> floating point number | |
|
168 | 168 | |
|
169 |
Return the CPU time in seconds |
|
|
170 | ignored) since the start of the process. This is done via a call to | |
|
171 | resource.getrusage, so it avoids the wraparound problems in | |
|
172 | time.clock().""" | |
|
169 | Return the *USER* CPU time in seconds since the start of the process. | |
|
170 | This is done via a call to resource.getrusage, so it avoids the | |
|
171 | wraparound problems in time.clock().""" | |
|
173 | 172 | |
|
174 | 173 | return resource.getrusage(resource.RUSAGE_SELF)[0] |
|
175 | 174 | |
|
175 | def clocks(): | |
|
176 | """clocks() -> floating point number | |
|
177 | ||
|
178 | Return the *SYSTEM* CPU time in seconds since the start of the process. | |
|
179 | This is done via a call to resource.getrusage, so it avoids the | |
|
180 | wraparound problems in time.clock().""" | |
|
181 | ||
|
182 | return resource.getrusage(resource.RUSAGE_SELF)[1] | |
|
183 | ||
|
184 | def clock(): | |
|
185 | """clock() -> floating point number | |
|
186 | ||
|
187 | Return the *TOTAL USER+SYSTEM* CPU time in seconds since the start of | |
|
188 | the process. This is done via a call to resource.getrusage, so it | |
|
189 | avoids the wraparound problems in time.clock().""" | |
|
190 | ||
|
191 | u,s = resource.getrusage(resource.RUSAGE_SELF)[:2] | |
|
192 | return u+s | |
|
193 | ||
|
176 | 194 | def clock2(): |
|
177 | 195 | """clock2() -> (t_user,t_system) |
|
178 | 196 | |
@@ -180,7 +198,9 b' try:' | |||
|
180 | 198 | return resource.getrusage(resource.RUSAGE_SELF)[:2] |
|
181 | 199 | |
|
182 | 200 | except ImportError: |
|
183 | clock = time.clock | |
|
201 | # There is no distinction of user/system time under windows, so we just use | |
|
202 | # time.clock() for everything... | |
|
203 | clocku = clocks = clock = time.clock | |
|
184 | 204 | def clock2(): |
|
185 | 205 | """Under windows, system CPU time can't be measured. |
|
186 | 206 |
@@ -1,3 +1,14 b'' | |||
|
1 | 2007-02-22 Fernando Perez <Fernando.Perez@colorado.edu> | |
|
2 | ||
|
3 | * IPython/genutils.py (clock): I modified clock() to return total | |
|
4 | time, user+system. This is a more commonly needed metric. I also | |
|
5 | introduced the new clocku/clocks to get only user/system time if | |
|
6 | one wants those instead. | |
|
7 | ||
|
8 | ***WARNING: API CHANGE*** clock() used to return only user time, | |
|
9 | so if you want exactly the same results as before, use clocku | |
|
10 | instead. | |
|
11 | ||
|
1 | 12 | 2007-02-22 Ville Vainio <vivainio@gmail.com> |
|
2 | 13 | |
|
3 | 14 | * IPython/Extensions/ipy_p4.py: Extension for improved |
General Comments 0
You need to be logged in to leave comments.
Login now