wL idZddlZ ddlZeeedr dZdZdZdZnejxZxZZdZd Z d Z d Z y#e$rdZY>wxYw) z& Utilities for timing code execution. N getrusagecNtjtjdS)zclocku() -> floating point number Return the *USER* CPU time in seconds since the start of the process. This is done via a call to resource.getrusage, so it avoids the wraparound problems in time.clock().rresourcer RUSAGE_SELFZ/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/IPython/utils/timing.pyclockur  !!("6"67::r cNtjtjdS)zclocks() -> floating point number Return the *SYSTEM* CPU time in seconds since the start of the process. This is done via a call to resource.getrusage, so it avoids the wraparound problems in time.clock().rrr r clocksr(r r c^tjtjdd\}}||zS)zclock() -> floating point number Return the *TOTAL USER+SYSTEM* CPU time in seconds since the start of the process. This is done via a call to resource.getrusage, so it avoids the wraparound problems in time.clock().Nr)uss r clockr1s.  !5!56r:!s r cNtjtjddS)zcclock2() -> (t_user,t_system) Similar to clock(), but return a tuple of user/system times.Nrrrr r clock2r;s"!!("6"67;;r c.tjdfS)zeUnder windows, system CPU time can't be measured. This just returns process_time() and zero.g)time process_timerr r rrFs  "C''r ct|}|dk\sJd|dk(r t}||i|}t|z }n (t_total,t_per_call,output) Execute a function reps times, return a tuple with the elapsed total CPU time in seconds, the time per call and the function's output. Under Unix, the return value is the sum of user+system time consumed by the process, computed via the resource module. This prevents problems related to the wraparound effect which the time.clock() function has. Under Windows the return value is in wall clock seconds. See the documentation for the time module for more details.rzreps must be >= 1)intrrange) repsfuncargskwstartouttot_timerngdummyav_times r timings_outr'Ms t9D !8(((8 QwD275=DFm*E$*r**D275=oG GC r c(t||g|i|ddS)ztimings(reps,func,*args,**kw) -> (t_total,t_per_call) Execute a function reps times, return a tuple with the elapsed total CPU time in seconds and the time per call. These are just the first two values in timings_out().rrr')rrrr s r timingsr*js" tD ,$ , ,Qq 11r c(td|g|i|dS)ztiming(func,*args,**kw) -> t_total Execute a function once, return the elapsed total CPU time in seconds. This is just the first value in timings_out().rrr))rrr s r timingr,ts q )t )b )! ,,r ) __doc__rrModuleNotFoundErrorhasattrr rrrrr'r*r,rr r r0s~   GHk:;;<#///F/Ve( :2-uHsAA  A