grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛf\ã@stddlZddlZddlZddlZdddgZGdd„dƒZddd„Zdd d„ZGd d„dƒZd d „Z e d krpe ƒdS)éNÚrunÚrunctxÚProfilec@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) Ú_UtilscCs ||_dS©N)Úprofiler)Úselfr©r ú,/opt/alt/python38/lib64/python3.8/profile.pyÚ__init__0sz_Utils.__init__c CsF| ¡}z(z| |¡Wntk r,YnXW5| |||¡XdSr)rÚ_showrÚ SystemExit)rÚ statementÚfilenameÚsortÚprofr r r r3s  z _Utils.runc CsJ| ¡}z,z| |||¡Wntk r0YnXW5| |||¡XdSr)rr rr )rrÚglobalsÚlocalsrrrr r r r<s  z _Utils.runctxcCs"|dk r| |¡n | |¡dSr)Ú dump_statsÚ print_stats)rrrrr r r r Es z _Utils._showN)Ú__name__Ú __module__Ú __qualname__r rrr r r r r r*s  réÿÿÿÿcCsttƒ |||¡Sr)rrr)rrrr r r rQs cCsttƒ |||||¡Sr)rrr)rrrrrr r r r^sc@sòeZdZdZd4dd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z e e e e e e dœZ dd„ZGdd„dƒZGdd„dƒZdd„Zdd„Zd5d!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/e_d6d0d1„Zd2d3„ZdS)7rrNcCsÌi|_d|_d|_d|_|dkr&|j}||_|sHtj|_|_|j |_ nl||_| ¡}z t |ƒ}Wn"t k r„||_|j |_ Yn0X|dkr˜|j |_ n|j|_ |tfdd„}||_| ¡|_| d¡dS)NÚécSs ||ƒƒSrr )Ú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-Zlengthrr r r r �s0    zProfile.__init__cCs„|j}|ƒ}|d|d|j|j}|dkr8|j|_|j||||ƒrd|ƒ}|d|d|_n|ƒ}|d|d||_dS)NréÚc_call©rr-r#rr"Údispatch)rÚframeÚeventÚargrr-Úrr r r r+·szProfile.trace_dispatchcCsT|j}|ƒ|j|j}|dkr(|j|_|j||||ƒrD|ƒ|_n |ƒ||_dS©Nr0r1©rr3r4r5rr-r r r r'És zProfile.trace_dispatch_icCs`|j}|ƒd|j|j}|dkr,|j|_|j||||ƒrL|ƒd|_n|ƒd||_dS)NgN@r0r1r8r r r Útrace_dispatch_macØszProfile.trace_dispatch_maccCsT|j}|ƒ|j|j}|dkr(|j|_|j||||ƒrD|ƒ|_n |ƒ||_dSr7)r&r-r#rr"r2)rr3r4r5r&r-r r r r,æs zProfile.trace_dispatch_lc CsD|j\}}}}}}||k r*|r*| ||¡S|||||||f|_dS©Nr/)r Útrace_dispatch_return) rr3r-Ú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@| |d¡|j} | j| j| j f} |dd| ||jf|_|j } | | kr¢| | \} } }}}| | d|||f| | <nddddif| | <dS©Néþÿÿÿrr/) r Úf_backÚ isinstancerÚ fake_framer;Úf_codeÚ co_filenameÚco_firstlinenoÚco_namer)rr3r-r<r=r>r?r@rAZfcodeÚfnrÚccÚnsÚttÚctÚcallersr r r Útrace_dispatch_calls  zProfile.trace_dispatch_callc Csndd|jf}|dd|||jf|_|j}||krX||\}}}}} ||d||| f||<nddddif||<dS)Nrrr/)r"r r) rr3r-rLrrMrNrOrPrQr r r Útrace_dispatch_c_calls zProfile.trace_dispatch_c_callcCsØ||jdk r | |jdd¡|j\}}}}}}||}||}|\} } } } } }| | || || | |f|_|j}||\}}}}}|s˜||}|d}| |kr²|| d|| <nd|| <||d||||f||<dSrC)r r;r)rr3r-r<r=r>r?rAZ frame_totalZpptZpitZpetZpfnÚpframeZpcurrrMrNrOrPrQr r r r;"s"zProfile.trace_dispatch_return)ÚcallZ exceptionÚreturnr0Z c_exceptionZc_returncCs"|jdrdS||_| |¡dS)Nr)r r!r.)rr!r r r Úset_cmdXs zProfile.set_cmdc@seZdZdd„Zdd„ZdS)zProfile.fake_codecCs||_||_||_d|_dS©Nr)rIÚco_linerKrJ)rrÚlineÚnamer r r r ^szProfile.fake_code.__init__cCst|j|j|jfƒSr)ÚreprrIrYrK©rr r r Ú__repr__dszProfile.fake_code.__repr__N)rrrr r^r r r r Ú fake_code]sr_c@seZdZdd„ZdS)zProfile.fake_framecCs||_||_dSr)rHrE)rÚcodeZpriorr r r r hszProfile.fake_frame.__init__N)rrrr r r r r rGgsrGcCsF| dd|¡}|jr |jd}nd}| ||¡}|jd||dƒdS)NZprofilerrDrU)r_r rGr2)rr[r`rTr3r r r r.ls   zProfile.simulate_callcCsJ|j}|ƒ|j}|jdr:|jd||jd|ƒd}q|ƒ||_dS)NrrVrDr)r&r-r r2)rr&r-r r r Úsimulate_cmd_completexs   zProfile.simulate_cmd_completercCs$ddl}| |¡ ¡ |¡ ¡dSrX)ÚpstatsZStatsZ strip_dirsZ sort_statsr)rrrbr r r rƒszProfile.print_statsc Cs0t|dƒ�}| ¡t |j|¡W5QRXdS)NÚwb)ÚopenÚ create_statsÚmarshalÚdumpÚstats)rÚfileÚfr r r rˆs zProfile.dump_statscCs| ¡| ¡dSr)raÚsnapshot_statsr]r r r re�szProfile.create_statsc Cs^i|_|j ¡D]H\}\}}}}}| ¡}d}| ¡D] }||7}q6|||||f|j|<qdSrX)rhrÚitemsÚcopyÚvalues) rÚfuncrMrNrOrPrQZncZcallcntr r r rk‘s  zProfile.snapshot_statscCsddl}|j}| |||¡SrX)Ú__main__Ú__dict__r)rr!rpÚdictr r r ržsz Profile.runc Cs8| |¡t |j¡zt|||ƒW5t d¡X|Sr)rWÚsysÚ setprofiler(Úexec)rr!rrr r r r£s    zProfile.runctxc Os¨t|ƒdkr|^}}}nV|s&tdƒ‚nHd|krZ| d¡}|^}}ddl}|jdtdd�ntdt|ƒdƒ‚| t|ƒ¡t  |j ¡z|||ŽW¢St  d¡XdS) Nrz:descriptor 'runcall' of 'Profile' object needs an argumentrorz0Passing 'func' as keyword argument is deprecated)Ú stacklevelz7runcall expected at least 1 positional argument, got %dr/) r)r*ÚpopÚwarningsÚwarnÚDeprecationWarningrWr\rsrtr()ÚargsÚkwrrorxr r r Úruncall­s(    ÿ ÿ zProfile.runcallz($self, func, /, *args, **kw)cCs<|jtk rtdƒ‚|j}d|_z| ||¡W¢S||_XdS)Nz&Subclasses must override .calibrate().r)Ú __class__rr*r#Ú_calibrate_inner)rÚmÚverboseZ saved_biasr r r Ú calibrateîs zProfile.calibratecCs|j}dd„}|fdd„}||ƒ|ƒ}||ƒ|ƒ}||}|rLtd|ƒtƒ} |ƒ}|  dtƒtƒ¡|ƒ}||} |r†td| ƒd} d} | j ¡D]0\\} }}\}}}}}|d kr˜| |7} | |7} q˜|râtd | ƒtd | ƒ| |d krútd | ƒ‚| |d| }|�rtd|ƒ|S)NcSst|ƒD]}d}qdSr:©Úrange)ÚnÚiÚxr r r Úf1s z$Profile._calibrate_inner..f1cSst|ƒD] }|dƒqdS)Nédrƒ)r€rˆr†r r r rjs z#Profile._calibrate_inner..fz elapsed time without profiling =zf(m)zelapsed time with profiling =g)rjrˆz!'CPU seconds' profiler reported =ztotal # calls =r/z internal error: total calls = %dg@z+mean stopwatch overhead per profile event =) r&ÚprintrrrrrrlÚ ValueError)rr€r�r&rˆrjZt0Út1Zelapsed_noprofileÚpZelapsed_profileZ total_callsZ reported_timerrZÚfuncnamerMrNrOrPrQZmeanr r r rùsB   ÿ      zProfile._calibrate_inner)NN)r)r)rrrr#r r+r'r9r,rBrRrSr;r2rWr_rGr.rarrrerkrrr}Ú__text_signature__r‚rr r r r rgs@' ' 'ú     + c Csšddl}ddlm}d}||d�}d|_|jdddd dd �|jd d d ddd�|jdddddd �tjdd…s„| ¡t d¡|  ¡\}}|tjdd…<|j dk r¸|j   |j ¡|_ t |ƒdk�rŽ|jrêddl}d}|j|ddœ}nR|d} tj  d|j  | ¡¡t | ¡�} t|  ¡| dƒ}W5QRX| ddddœ}zt||d|j |jƒWn6tk �rŠ} zdt_t | j¡W5d} ~ XYnXn| ¡|S)Nr)Ú OptionParserzMprofile.py [-o output_file_path] [-s sort] [-m module | scriptfile] [arg] ...)ÚusageFz-oz --outfileÚoutfilezSave stats to )ÚdestÚhelpÚdefaultz-mÚmoduleÚ store_truezProfile a library module.)r“Úactionr”r•z-sz--sortrz?Sort order when printing to stdout, based on pstats.Stats classrr/rz(run_module(modname, run_name='__main__'))Ú run_moduleÚmodnamerurp)Ú__file__rÚ __package__Ú __cached__)ÚosZoptparser�Zallow_interspersed_argsZ add_optionrsÚargvZ print_usageÚexitÚ parse_argsr’ÚpathÚabspathr)r–Úrunpyr™ÚinsertÚdirnameÚioÚ open_codeÚcompileÚreadrrÚBrokenPipeErrorÚstdoutÚerrno) ržr�r‘ÚparserZoptionsr{r¤r`ZglobsZprognameÚfpÚexcr r r Úmain9s^   ÿ ÿ þ   þ ü r±rp)Nr)Nr) r§rsr$rfÚ__all__rrrrr±rr r r r Ús ' U9