PHP 8.2.30
Preview: cProfile.py Size: 5.26 KB
//opt/alt/python36/lib64/python3.6/cProfile.py

#! /opt/alt/python36/bin/python3.6

"""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(self, func, *args, **kw):
        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, sys, pstats
    from optparse import OptionParser
    usage = "cProfile.py [-o output_file_path] [-s sort] 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))

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

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

    if len(args) > 0:
        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()

Directory Contents

Dirs: 31 × Files: 170

Name Size Perms Modified Actions
asyncio DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:10:47
Edit Download
ctypes DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
curses DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
dbm DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
distutils DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
email DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
encodings DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
ensurepip DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
html DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
http DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
idlelib DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
importlib DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
json DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
lib2to3 DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
logging DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
sqlite3 DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
test DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
unittest DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
urllib DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
venv DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
wsgiref DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
xml DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
xmlrpc DIR
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
- drwxr-xr-x 2024-05-23 07:06:19
Edit Download
8.52 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
31.69 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
477 B lrw-r--r-- 2024-04-17 17:19:35
Edit Download
88.25 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
11.88 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
11.06 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
19.69 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
19.91 KB lrwxr-xr-x 2024-04-17 17:19:35
Edit Download
23.00 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
13.63 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
2.53 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
12.19 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
22.67 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
36.21 KB lrwxr-xr-x 2024-04-17 17:19:38
Edit Download
11.74 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
5.30 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
14.51 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
10.37 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
35.43 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
5.85 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
3.97 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
11.84 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
52.34 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
12.85 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
8.61 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
6.84 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
5.26 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
1.82 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
15.80 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
80.11 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
320 B lrw-r--r-- 2024-04-17 17:19:38
Edit Download
82.40 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
17.71 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
101.94 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
2.75 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
32.82 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
9.60 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
14.13 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
3.09 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
14.79 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
23.08 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
34.78 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
30.61 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
4.64 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
7.31 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
5.85 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
21.03 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
5.51 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
19.86 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
9.31 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
22.39 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
4.94 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
52.05 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
3.71 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
10.42 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
114.22 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
3.43 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
72.82 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
2.17 KB lrwxr-xr-x 2024-04-17 17:19:38
Edit Download
5.19 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
75.49 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
12.68 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
5.83 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
2.67 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
76.78 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
7.91 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
20.55 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
22.49 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
5.55 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
42.07 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
22.55 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
2.39 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
10.00 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
5.69 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
10.61 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
58.96 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
36.65 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
47.83 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
59.89 KB lrwxr-xr-x 2024-04-17 17:19:35
Edit Download
54.39 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
89.62 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
8.71 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
20.82 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
46.10 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
32.02 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
14.61 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
15.40 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
20.37 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
21.52 KB lrwxr-xr-x 2024-04-17 17:19:35
Edit Download
25.94 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
4.65 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
13.24 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
101.08 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
7.01 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
8.57 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
7.09 KB lrwxr-xr-x 2024-04-17 17:19:38
Edit Download
26.80 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
15.19 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
5.21 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
6.93 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
11.68 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
6.36 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
1.99 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
18.98 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
8.32 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
12.65 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
39.59 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
2.07 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
20.53 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
33.91 KB lrwxr-xr-x 2024-04-17 17:19:35
Edit Download
43.38 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
6.92 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
26.80 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
26.38 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
18.88 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
6.66 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
35.68 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
43.74 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
4.92 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
20.19 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
11.52 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
12.61 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
257 B lrw-r--r-- 2024-04-17 17:19:35
Edit Download
60.88 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
17.67 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
2.07 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
7.11 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
24.40 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
11.15 KB lrwxr-xr-x 2024-04-17 17:19:38
Edit Download
91.13 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
22.59 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
26.15 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
19.10 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
1003 B lrw-r--r-- 2024-04-17 17:19:35
Edit Download
47.88 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
13.03 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
3.00 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
28.80 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
28.06 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
22.91 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
16.27 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
879 B lrw-r--r-- 2024-04-17 17:19:34
Edit Download
8.66 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
78.39 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
6.75 KB lrwxr-xr-x 2024-04-17 17:19:34
Edit Download
23.41 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
18.05 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
17.29 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
19.99 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
21.26 KB lrwxr-xr-x 2024-04-17 17:19:38
Edit Download
5.77 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
6.99 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
74.49 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
1.27 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
25.77 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
8.54 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
5.21 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
5.00 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
14.26 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
18.69 KB lrw-r--r-- 2024-04-17 17:19:38
Edit Download
224.83 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
86.03 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
3.04 KB lrw-r--r-- 2024-04-17 17:19:35
Edit Download
24.17 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
27.17 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
25.67 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
7.04 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
5.57 KB lrw-r--r-- 2024-04-17 17:19:34
Edit Download
4.73 KB lrw-r--r-- 2024-04-17 17:19:39
Edit Download
64 B lrw-r--r-- 2024-04-17 17:19:38
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).