Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /opt/alt/python37/lib64/python3.7/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/python37/lib64/python3.7/cProfile.py
#! /opt/alt/python37/bin/python3.7

"""Python interface for the 'lsprof' profiler.
   Compatible with the 'profile' module.
"""

__all__ = ["run", "runctx", "Profile"]

import _lsprof
import profile as _pyprofile

# ____________________________________________________________
# Simple interface

def run(statement, filename=None, sort=-1):
    return _pyprofile._Utils(Profile).run(statement, filename, sort)

def runctx(statement, globals, locals, filename=None, sort=-1):
    return _pyprofile._Utils(Profile).runctx(statement, globals, locals,
                                             filename, sort)

run.__doc__ = _pyprofile.run.__doc__
runctx.__doc__ = _pyprofile.runctx.__doc__

# ____________________________________________________________

class Profile(_lsprof.Profiler):
    """Profile(timer=None, timeunit=None, subcalls=True, builtins=True)

    Builds a profiler object using the specified timer function.
    The default timer is a fast built-in one based on real time.
    For custom timer functions returning integers, timeunit can
    be a float specifying a scale (i.e. how long each integer unit
    is, in seconds).
    """

    # Most of the functionality is in the base class.
    # This subclass only adds convenient and backward-compatible methods.

    def print_stats(self, sort=-1):
        import pstats
        pstats.Stats(self).strip_dirs().sort_stats(sort).print_stats()

    def dump_stats(self, file):
        import marshal
        with open(file, 'wb') as f:
            self.create_stats()
            marshal.dump(self.stats, f)

    def create_stats(self):
        self.disable()
        self.snapshot_stats()

    def snapshot_stats(self):
        entries = self.getstats()
        self.stats = {}
        callersdicts = {}
        # call information
        for entry in entries:
            func = label(entry.code)
            nc = entry.callcount         # ncalls column of pstats (before '/')
            cc = nc - entry.reccallcount # ncalls column of pstats (after '/')
            tt = entry.inlinetime        # tottime column of pstats
            ct = entry.totaltime         # cumtime column of pstats
            callers = {}
            callersdicts[id(entry.code)] = callers
            self.stats[func] = cc, nc, tt, ct, callers
        # subcall information
        for entry in entries:
            if entry.calls:
                func = label(entry.code)
                for subentry in entry.calls:
                    try:
                        callers = callersdicts[id(subentry.code)]
                    except KeyError:
                        continue
                    nc = subentry.callcount
                    cc = nc - subentry.reccallcount
                    tt = subentry.inlinetime
                    ct = subentry.totaltime
                    if func in callers:
                        prev = callers[func]
                        nc += prev[0]
                        cc += prev[1]
                        tt += prev[2]
                        ct += prev[3]
                    callers[func] = nc, cc, tt, ct

    # The following two methods can be called by clients to use
    # a profiler to profile a statement, given as a string.

    def run(self, cmd):
        import __main__
        dict = __main__.__dict__
        return self.runctx(cmd, dict, dict)

    def runctx(self, cmd, globals, locals):
        self.enable()
        try:
            exec(cmd, globals, locals)
        finally:
            self.disable()
        return self

    # This method is more useful to profile a single function call.
    def runcall(*args, **kw):
        if len(args) >= 2:
            self, func, *args = args
        elif not args:
            raise TypeError("descriptor 'runcall' of 'Profile' object "
                            "needs an argument")
        elif 'func' in kw:
            func = kw.pop('func')
            self, *args = args
        else:
            raise TypeError('runcall expected at least 1 positional argument, '
                            'got %d' % (len(args)-1))

        self.enable()
        try:
            return func(*args, **kw)
        finally:
            self.disable()

# ____________________________________________________________

def label(code):
    if isinstance(code, str):
        return ('~', 0, code)    # built-in functions ('~' sorts at the end)
    else:
        return (code.co_filename, code.co_firstlineno, code.co_name)

# ____________________________________________________________

def main():
    import os
    import sys
    import runpy
    import pstats
    from optparse import OptionParser
    usage = "cProfile.py [-o output_file_path] [-s sort] [-m module | scriptfile] [arg] ..."
    parser = OptionParser(usage=usage)
    parser.allow_interspersed_args = False
    parser.add_option('-o', '--outfile', dest="outfile",
        help="Save stats to <outfile>", default=None)
    parser.add_option('-s', '--sort', dest="sort",
        help="Sort order when printing to stdout, based on pstats.Stats class",
        default=-1,
        choices=sorted(pstats.Stats.sort_arg_dict_default))
    parser.add_option('-m', dest="module", action="store_true",
        help="Profile a library module", default=False)

    if not sys.argv[1:]:
        parser.print_usage()
        sys.exit(2)

    (options, args) = parser.parse_args()
    sys.argv[:] = args

    if len(args) > 0:
        if options.module:
            code = "run_module(modname, run_name='__main__')"
            globs = {
                'run_module': runpy.run_module,
                'modname': args[0]
            }
        else:
            progname = args[0]
            sys.path.insert(0, os.path.dirname(progname))
            with open(progname, 'rb') as fp:
                code = compile(fp.read(), progname, 'exec')
            globs = {
                '__file__': progname,
                '__name__': '__main__',
                '__package__': None,
                '__cached__': None,
            }
        runctx(code, globs, None, options.outfile, options.sort)
    else:
        parser.print_usage()
    return parser

# When invoked as main program, invoke the profiler on a script
if __name__ == '__main__':
    main()
Name
Size
Permissions
Options
__pycache__
--
drwxr-xr-x
asyncio
--
drwxr-xr-x
collections
--
drwxr-xr-x
concurrent
--
drwxr-xr-x
config-3.7m
--
drwxr-xr-x
ctypes
--
drwxr-xr-x
curses
--
drwxr-xr-x
dbm
--
drwxr-xr-x
distutils
--
drwxr-xr-x
email
--
drwxr-xr-x
encodings
--
drwxr-xr-x
ensurepip
--
drwxr-xr-x
html
--
drwxr-xr-x
http
--
drwxr-xr-x
idlelib
--
drwxr-xr-x
importlib
--
drwxr-xr-x
json
--
drwxr-xr-x
lib-dynload
--
drwxr-xr-x
lib2to3
--
drwxr-xr-x
logging
--
drwxr-xr-x
multiprocessing
--
drwxr-xr-x
pydoc_data
--
drwxr-xr-x
site-packages
--
drwxr-xr-x
sqlite3
--
drwxr-xr-x
test
--
drwxr-xr-x
unittest
--
drwxr-xr-x
urllib
--
drwxr-xr-x
venv
--
drwxr-xr-x
wsgiref
--
drwxr-xr-x
xml
--
drwxr-xr-x
xmlrpc
--
drwxr-xr-x
__future__.py
4.981 KB
-rw-r--r--
__phello__.foo.py
0.063 KB
-rw-r--r--
_bootlocale.py
1.759 KB
-rw-r--r--
_collections_abc.py
25.805 KB
-rw-r--r--
_compat_pickle.py
8.544 KB
-rw-r--r--
_compression.py
5.215 KB
-rw-r--r--
_dummy_thread.py
5.886 KB
-rw-r--r--
_markupbase.py
14.256 KB
-rw-r--r--
_osx_support.py
19.141 KB
-rw-r--r--
_py_abc.py
6.041 KB
-rw-r--r--
_pydecimal.py
223.33 KB
-rw-r--r--
_pyio.py
89.469 KB
-rw-r--r--
_sitebuiltins.py
3.042 KB
-rw-r--r--
_strptime.py
24.906 KB
-rw-r--r--
_sysconfigdata_dm_linux_x86_64-linux-gnu.py
30.595 KB
-rw-r--r--
_sysconfigdata_m_linux_x86_64-linux-gnu.py
27.93 KB
-rw-r--r--
_threading_local.py
7.045 KB
-rw-r--r--
_weakrefset.py
5.546 KB
-rw-r--r--
abc.py
5.449 KB
-rw-r--r--
aifc.py
32.045 KB
-rw-r--r--
antigravity.py
0.466 KB
-rw-r--r--
argparse.py
93.137 KB
-rw-r--r--
ast.py
12.541 KB
-rw-r--r--
asynchat.py
11.063 KB
-rw-r--r--
asyncore.py
19.646 KB
-rw-r--r--
base64.py
19.915 KB
-rwxr-xr-x
bdb.py
30.986 KB
-rw-r--r--
binhex.py
13.627 KB
-rw-r--r--
bisect.py
2.497 KB
-rw-r--r--
bz2.py
12.119 KB
-rw-r--r--
cProfile.py
6.106 KB
-rwxr-xr-x
calendar.py
24.244 KB
-rw-r--r--
cgi.py
34.229 KB
-rwxr-xr-x
cgitb.py
11.736 KB
-rw-r--r--
chunk.py
5.308 KB
-rw-r--r--
cmd.py
14.512 KB
-rw-r--r--
code.py
10.373 KB
-rw-r--r--
codecs.py
35.757 KB
-rw-r--r--
codeop.py
6.128 KB
-rw-r--r--
colorsys.py
3.969 KB
-rw-r--r--
compileall.py
13.465 KB
-rw-r--r--
configparser.py
53.011 KB
-rw-r--r--
contextlib.py
24.183 KB
-rw-r--r--
contextvars.py
0.126 KB
-rw-r--r--
copy.py
8.648 KB
-rw-r--r--
copyreg.py
6.853 KB
-rw-r--r--
crypt.py
3.268 KB
-rw-r--r--
csv.py
15.801 KB
-rw-r--r--
dataclasses.py
48.359 KB
-rw-r--r--
datetime.py
84.516 KB
-rw-r--r--
decimal.py
0.313 KB
-rw-r--r--
difflib.py
82.415 KB
-rw-r--r--
dis.py
19.422 KB
-rw-r--r--
doctest.py
102.109 KB
-rw-r--r--
dummy_threading.py
2.749 KB
-rw-r--r--
enum.py
34.222 KB
-rw-r--r--
filecmp.py
9.6 KB
-rw-r--r--
fileinput.py
14.282 KB
-rw-r--r--
fnmatch.py
3.961 KB
-rw-r--r--
formatter.py
14.788 KB
-rw-r--r--
fractions.py
23.195 KB
-rw-r--r--
ftplib.py
34.783 KB
-rw-r--r--
functools.py
32.16 KB
-rw-r--r--
genericpath.py
4.797 KB
-rw-r--r--
getopt.py
7.313 KB
-rw-r--r--
getpass.py
5.854 KB
-rw-r--r--
gettext.py
21.452 KB
-rw-r--r--
glob.py
5.506 KB
-rw-r--r--
gzip.py
20.153 KB
-rw-r--r--
hashlib.py
9.311 KB
-rw-r--r--
heapq.py
22.478 KB
-rw-r--r--
hmac.py
6.364 KB
-rw-r--r--
imaplib.py
52.043 KB
-rw-r--r--
imghdr.py
3.706 KB
-rw-r--r--
imp.py
10.289 KB
-rw-r--r--
inspect.py
114.878 KB
-rw-r--r--
io.py
3.435 KB
-rw-r--r--
ipaddress.py
71.854 KB
-rw-r--r--
keyword.py
2.203 KB
-rwxr-xr-x
linecache.py
5.205 KB
-rw-r--r--
locale.py
76.358 KB
-rw-r--r--
lzma.py
12.679 KB
-rw-r--r--
macpath.py
5.979 KB
-rw-r--r--
mailbox.py
76.811 KB
-rw-r--r--
mailcap.py
8.854 KB
-rw-r--r--
mimetypes.py
20.992 KB
-rw-r--r--
modulefinder.py
22.495 KB
-rw-r--r--
netrc.py
5.436 KB
-rw-r--r--
nntplib.py
42.077 KB
-rw-r--r--
ntpath.py
21.816 KB
-rw-r--r--
nturl2path.py
2.523 KB
-rw-r--r--
numbers.py
10.004 KB
-rw-r--r--
opcode.py
5.688 KB
-rw-r--r--
operator.py
10.608 KB
-rw-r--r--
optparse.py
58.956 KB
-rw-r--r--
os.py
37.013 KB
-rw-r--r--
pathlib.py
49.149 KB
-rw-r--r--
pdb.py
61.04 KB
-rwxr-xr-x
pickle.py
56.635 KB
-rw-r--r--
pickletools.py
89.082 KB
-rw-r--r--
pipes.py
8.707 KB
-rw-r--r--
pkgutil.py
20.958 KB
-rw-r--r--
platform.py
45.893 KB
-rwxr-xr-x
plistlib.py
29.989 KB
-rw-r--r--
poplib.py
14.613 KB
-rw-r--r--
posixpath.py
15.401 KB
-rw-r--r--
pprint.py
20.395 KB
-rw-r--r--
profile.py
21.967 KB
-rwxr-xr-x
pstats.py
26.675 KB
-rw-r--r--
pty.py
4.651 KB
-rw-r--r--
py_compile.py
7.813 KB
-rw-r--r--
pyclbr.py
14.782 KB
-rw-r--r--
pydoc.py
103.395 KB
-rw-r--r--
queue.py
11.093 KB
-rw-r--r--
quopri.py
7.095 KB
-rwxr-xr-x
random.py
26.911 KB
-rw-r--r--
re.py
14.947 KB
-rw-r--r--
reprlib.py
5.144 KB
-rw-r--r--
rlcompleter.py
6.931 KB
-rw-r--r--
runpy.py
11.679 KB
-rw-r--r--
sched.py
6.291 KB
-rw-r--r--
secrets.py
1.99 KB
-rw-r--r--
selectors.py
18.126 KB
-rw-r--r--
shelve.py
8.327 KB
-rw-r--r--
shlex.py
12.793 KB
-rw-r--r--
shutil.py
40.967 KB
-rw-r--r--
signal.py
2.073 KB
-rw-r--r--
site.py
21.069 KB
-rw-r--r--
smtpd.py
33.908 KB
-rwxr-xr-x
smtplib.py
43.401 KB
-rwxr-xr-x
sndhdr.py
6.92 KB
-rw-r--r--
socket.py
26.825 KB
-rw-r--r--
socketserver.py
26.292 KB
-rw-r--r--
sre_compile.py
26.242 KB
-rw-r--r--
sre_constants.py
7.009 KB
-rw-r--r--
sre_parse.py
38.238 KB
-rw-r--r--
ssl.py
44.429 KB
-rw-r--r--
stat.py
5.265 KB
-rw-r--r--
statistics.py
20.167 KB
-rw-r--r--
string.py
11.293 KB
-rw-r--r--
stringprep.py
12.614 KB
-rw-r--r--
struct.py
0.251 KB
-rw-r--r--
subprocess.py
70.946 KB
-rw-r--r--
sunau.py
17.944 KB
-rw-r--r--
symbol.py
2.092 KB
-rwxr-xr-x
symtable.py
7.108 KB
-rw-r--r--
sysconfig.py
23.867 KB
-rw-r--r--
tabnanny.py
11.151 KB
-rwxr-xr-x
tarfile.py
90.503 KB
-rwxr-xr-x
telnetlib.py
22.593 KB
-rw-r--r--
tempfile.py
26.104 KB
-rw-r--r--
textwrap.py
18.952 KB
-rw-r--r--
this.py
0.979 KB
-rw-r--r--
threading.py
48.129 KB
-rw-r--r--
timeit.py
13.177 KB
-rwxr-xr-x
token.py
3.675 KB
-rw-r--r--
tokenize.py
26.397 KB
-rw-r--r--
trace.py
28.226 KB
-rwxr-xr-x
traceback.py
22.888 KB
-rw-r--r--
tracemalloc.py
16.676 KB
-rw-r--r--
tty.py
0.858 KB
-rw-r--r--
types.py
9.665 KB
-rw-r--r--
typing.py
55.115 KB
-rw-r--r--
uu.py
7.106 KB
-rw-r--r--
uuid.py
28.826 KB
-rw-r--r--
warnings.py
19.609 KB
-rw-r--r--
wave.py
17.803 KB
-rw-r--r--
weakref.py
21.004 KB
-rw-r--r--
webbrowser.py
23.159 KB
-rwxr-xr-x
xdrlib.py
5.774 KB
-rw-r--r--
zipapp.py
7.358 KB
-rw-r--r--
zipfile.py
79.193 KB
-rw-r--r--