grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]Vã@s¾ddlZddlZddlZddlZddlmZdddgZGdd„dƒZdd d d„Zdd d d„Z Gd d„dƒZ d d „Z e dkrºe ƒdS)éN)Ú OptionParserÚrunÚrunctxÚProfilec@s@eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú_UtilscCs ||_dS)N)Úprofiler)Úselfr©r ú,/opt/alt/python35/lib64/python3.5/profile.pyÚ__init__1sz_Utils.__init__cCsQ|jƒ}z*y|j|ƒWntk r4YnXWd|j|||ƒXdS)N)rrÚ SystemExitÚ_show)rÚ statementÚfilenameÚsortÚprofr r r r4s    z _Utils.runcCsW|jƒ}z0y|j|||ƒWntk r:YnXWd|j|||ƒXdS)N)rrr r )rrÚglobalsÚlocalsrrrr r r r=s    z _Utils.runctxcCs-|dk r|j|ƒn |j|ƒdS)N)Ú dump_statsÚ print_stats)rrrrr r r r Fs z _Utils._showN)Ú__name__Ú __module__Ú __qualname__r rrr r r r r r+s   récCsttƒj|||ƒS)N)rrr)rrrr r r rRs cCsttƒj|||||ƒS)N)rrr)rrrrrr r r r_sc @sneZdZdZdddd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z de de de de de de iZ dd„ZGdd„dƒZGdd „d ƒZd!d"„Zd#d$„Zd8d&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zdd4d5„Zd6d7„ZdS)9rrNc Csi|_d|_d|_d|_|dkr9|j}||_|sjtj|_|_|j |_ n‘||_|jƒ}yt |ƒ}Wn't k r¸||_|j |_ YnCX|dkrÔ|j |_ n |j|_ |tdd„}||_|jƒ|_|jdƒdS)NÚécSs ||ƒƒS)Nr )ÚtimerÚsumr r r Úget_time_timer°sz(Profile.__init__..get_time_timerr)ÚtimingsÚcurÚcmdÚ c_func_nameÚbiasÚtimeÚ process_timerÚget_timeÚtrace_dispatch_iÚ dispatcherÚlenÚ TypeErrorÚtrace_dispatchÚtrace_dispatch_lrÚtÚ simulate_call)rrr#r-Úlengthrr r r r ‘s0              zProfile.__init__cCsª|j}|ƒ}|d|d|j|j}|dkrJ|j|_|j||||ƒr„|ƒ}|d|d|_n"|ƒ}|d|d||_dS)NrrÚc_call)rr-r#rr"Údispatch)rÚframeÚeventÚargrr-Úrr r r r+¸s       zProfile.trace_dispatchcCst|j}|ƒ|j|j}|dkr8|j|_|j||||ƒr`|ƒ|_n|ƒ||_dS)Nr0)rr-r#rr"r1)rr2r3r4rr-r r r r'Ês   zProfile.trace_dispatch_icCs€|j}|ƒd|j|j}|dkr<|j|_|j||||ƒrh|ƒd|_n|ƒd||_dS)NgN@r0)rr-r#rr"r1)rr2r3r4rr-r r r Útrace_dispatch_macÙs   zProfile.trace_dispatch_maccCst|j}|ƒ|j|j}|dkr8|j|_|j||||ƒr`|ƒ|_n|ƒ||_dS)Nr0)r&r-r#rr"r1)rr2r3r4r&r-r r r r,çs   zProfile.trace_dispatch_lc Cs`|j\}}}}}}||k r=|r=|j||ƒS|||||||f|_dS)Nr)r Útrace_dispatch_return) rr2r-ÚrptÚritÚretÚrfnÚrframeÚrcurr r r Útrace_dispatch_exceptionús z Profile.trace_dispatch_exceptioncCs|jr\|j|jdk r\|j\}}}}}}t|tjƒs\|j|dƒ|j} | j| j| j f} |dd| ||jf|_|j } | | kré| | \} } }}}| | d|||f| | .f1cSs%xt|ƒD]}|dƒq WdS)Néd)ry)rvr}r{r r r re÷sz#Profile._calibrate_inner..fz elapsed time without profiling =zf(m)zelapsed time with profiling =grer}z!'CPU seconds' profiler reported =ztotal # calls =rz internal error: total calls = %dg@z+mean stopwatch overhead per profile event =)rer}) r&ÚprintrrrrrrgÚ ValueError)rrvrwr&r}reÚt0Út1Zelapsed_noprofileÚpZelapsed_profileZ total_callsZ reported_timerrVÚfuncnamerHrIrJrKrLZmeanr r r ruêsB             1     zProfile._calibrate_innerrS)rrrr#r r+r'r6r,r>rMrNr7r1rTrZrBr.r\rrr`rfrrrsrxrur r r r rhs< ''       '       1 cCshd}td|ƒ}d|_|jdddddd d dƒ|jd d dd ddd dƒtjdd…sŒ|jƒtjdƒ|jƒ\}}|tjdd…Údefaultz-sz--sortrz?Sort order when printing to stdout, based on pstats.Stats classrrrÚrbrpÚ__file__rrkÚ __package__Ú __cached__rS)rZallow_interspersed_argsZ add_optionrnÚargvÚ print_usageÚexitÚ parse_argsr)ÚpathÚinsertÚosÚdirnamer_ÚcompileÚreadrr‡r)r…ÚparserÚoptionsrqZprognameÚfpr[Zglobsr r r Úmain*s2       r›rk) rnr”r$raZoptparserÚ__all__rrrrr›rr r r r Ús     '  ÿà "