ó »/öSc@sŽddlZddlmZmZddlmZeadada da eddƒZ eZ e rtddl Z ndefd„ƒYZdS( i’’’’N(tdatetimet timedelta(tStringIOitsecondsgš™™™™™©?t benchmarkingcBsMeZdd„Zd„Zd„Zed„ƒZeej e d„ƒZ RS(cCs||_||_dS(N(tdesctoffset(tselfRR((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt__init__s cCsts dStdk rtjƒ}|t}|tkrUtdtIdI|IJn|j}|j dk rŹt rŹt j ƒd|j dd!}|dj ddƒdf|d}|d|f7}ntdtId I|IJtd7a|a||_ndS( Ns s# Time elapsed:iiit/i’’’’s for %stStart(tlockedt timestamptNoneRtnowtEPSILONt err_streamtnestRRt INSPECTINGtinspecttstacktrsplitt starttime(RtnewtstdeltaRtcaller((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt __enter__s      % cCsšts dStdk r–tjƒ}|t}|tkrUtdtIdI|IJntd8atdtIdI|jId||j IJ|andS(Ns s# Time elapsed:itEnds (took %s)( R R R RRRRRRR(Rtexc_typetexc_valtexc_tbRR((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyt__exit__%s     .cCs!trtdtI|IJndS(Ns (R RR(tmsg((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pytinfo1scCs.tstjƒa|an|r*tandS(N(R RRR RtTrue(terrtprevent_override((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pytstart6s   N( t__name__t __module__R RRRt staticmethodR!tsyststderrtFalseR%(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyRs    (R)RRt cStringIORR+R R R RRRRRtobjectR(((sZ/afs/athena.mit.edu/user/x/a/xavid/.local/lib/python2.7/site-packages/bazbase/benchmark.pyts