SILENT KILLERPanel

Current Path: > > usr > lib64 > python2.7 > Tools > > scripts


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //usr/lib64/python2.7/Tools//scripts

NameTypeSizeLast ModifiedActions
analyze_dxp.py File 4205 bytes April 10 2024 04:58:41.
analyze_dxp.pyc File 4748 bytes April 10 2024 04:58:46.
analyze_dxp.pyo File 4748 bytes April 10 2024 04:58:46.
byext.py File 3944 bytes April 10 2024 04:58:41.
byext.pyc File 4521 bytes April 10 2024 04:58:46.
byext.pyo File 4521 bytes April 10 2024 04:58:46.
byteyears.py File 1637 bytes April 10 2024 04:58:41.
byteyears.pyc File 1398 bytes April 10 2024 04:58:46.
byteyears.pyo File 1398 bytes April 10 2024 04:58:46.
checkappend.py File 4657 bytes April 10 2024 04:58:41.
checkappend.pyc File 4886 bytes April 10 2024 04:58:46.
checkappend.pyo File 4886 bytes April 10 2024 04:58:46.
checkpip.py File 757 bytes April 10 2024 04:58:41.
checkpip.pyc File 1044 bytes April 10 2024 04:58:46.
checkpip.pyo File 1044 bytes April 10 2024 04:58:46.
checkpyc.py File 2010 bytes April 10 2024 04:58:41.
checkpyc.pyc File 1976 bytes April 10 2024 04:58:46.
checkpyc.pyo File 1976 bytes April 10 2024 04:58:46.
classfix.py File 5952 bytes April 10 2024 04:58:41.
classfix.pyc File 4189 bytes April 10 2024 04:58:46.
classfix.pyo File 4189 bytes April 10 2024 04:58:46.
cleanfuture.py File 8577 bytes April 10 2024 04:58:41.
cleanfuture.pyc File 7394 bytes April 10 2024 04:58:46.
cleanfuture.pyo File 7361 bytes April 10 2024 04:58:44.
combinerefs.py File 4380 bytes April 10 2024 04:58:41.
combinerefs.pyc File 4256 bytes April 10 2024 04:58:46.
combinerefs.pyo File 4223 bytes April 10 2024 04:58:44.
copytime.py File 663 bytes April 10 2024 04:58:41.
copytime.pyc File 937 bytes April 10 2024 04:58:46.
copytime.pyo File 937 bytes April 10 2024 04:58:46.
crlf.py File 610 bytes April 10 2024 04:58:41.
crlf.pyc File 855 bytes April 10 2024 04:58:46.
crlf.pyo File 855 bytes April 10 2024 04:58:46.
cvsfiles.py File 1786 bytes April 10 2024 04:58:41.
cvsfiles.pyc File 2163 bytes April 10 2024 04:58:46.
cvsfiles.pyo File 2163 bytes April 10 2024 04:58:46.
db2pickle.py File 3570 bytes April 10 2024 04:58:41.
db2pickle.pyc File 3497 bytes April 10 2024 04:58:46.
db2pickle.pyo File 3497 bytes April 10 2024 04:58:46.
diff.py File 2066 bytes April 10 2024 04:58:41.
diff.pyc File 2386 bytes April 10 2024 04:58:46.
diff.pyo File 2386 bytes April 10 2024 04:58:46.
dutree.py File 1615 bytes April 10 2024 04:58:41.
dutree.pyc File 2230 bytes April 10 2024 04:58:46.
dutree.pyo File 2230 bytes April 10 2024 04:58:46.
eptags.py File 1483 bytes April 10 2024 04:58:41.
eptags.pyc File 1876 bytes April 10 2024 04:58:46.
eptags.pyo File 1876 bytes April 10 2024 04:58:46.
find_recursionlimit.py File 3473 bytes April 10 2024 04:58:41.
find_recursionlimit.pyc File 5673 bytes April 10 2024 04:58:46.
find_recursionlimit.pyo File 5673 bytes April 10 2024 04:58:46.
finddiv.py File 2517 bytes April 10 2024 04:58:41.
finddiv.pyc File 3296 bytes April 10 2024 04:58:46.
finddiv.pyo File 3296 bytes April 10 2024 04:58:46.
findlinksto.py File 1069 bytes April 10 2024 04:58:41.
findlinksto.pyc File 1425 bytes April 10 2024 04:58:46.
findlinksto.pyo File 1425 bytes April 10 2024 04:58:46.
findnocoding.py File 2808 bytes April 10 2024 04:58:41.
findnocoding.pyc File 3201 bytes April 10 2024 04:58:46.
findnocoding.pyo File 3201 bytes April 10 2024 04:58:46.
fixcid.py File 9995 bytes April 10 2024 04:58:41.
fixcid.pyc File 7851 bytes April 10 2024 04:58:46.
fixcid.pyo File 7851 bytes April 10 2024 04:58:46.
fixdiv.py File 13841 bytes April 10 2024 04:58:41.
fixdiv.pyc File 13849 bytes April 10 2024 04:58:46.
fixdiv.pyo File 13766 bytes April 10 2024 04:58:44.
fixheader.py File 1189 bytes April 10 2024 04:58:41.
fixheader.pyc File 1471 bytes April 10 2024 04:58:46.
fixheader.pyo File 1471 bytes April 10 2024 04:58:46.
fixnotice.py File 3051 bytes April 10 2024 04:58:41.
fixnotice.pyc File 3500 bytes April 10 2024 04:58:46.
fixnotice.pyo File 3500 bytes April 10 2024 04:58:46.
fixps.py File 893 bytes April 10 2024 04:58:41.
fixps.pyc File 969 bytes April 10 2024 04:58:46.
fixps.pyo File 969 bytes April 10 2024 04:58:46.
google.py File 519 bytes April 10 2024 04:58:41.
google.pyc File 792 bytes April 10 2024 04:58:46.
google.pyo File 792 bytes April 10 2024 04:58:46.
gprof2html.py File 2167 bytes April 10 2024 04:58:41.
gprof2html.pyc File 2277 bytes April 10 2024 04:58:46.
gprof2html.pyo File 2277 bytes April 10 2024 04:58:46.
h2py.py File 5953 bytes April 10 2024 04:58:41.
h2py.pyc File 4392 bytes April 10 2024 04:58:46.
h2py.pyo File 4392 bytes April 10 2024 04:58:46.
hotshotmain.py File 1483 bytes April 10 2024 04:58:41.
hotshotmain.pyc File 1863 bytes April 10 2024 04:58:46.
hotshotmain.pyo File 1863 bytes April 10 2024 04:58:46.
ifdef.py File 3718 bytes April 10 2024 04:58:41.
ifdef.pyc File 2265 bytes April 10 2024 04:58:46.
ifdef.pyo File 2265 bytes April 10 2024 04:58:46.
lfcr.py File 618 bytes April 10 2024 04:58:41.
lfcr.pyc File 880 bytes April 10 2024 04:58:46.
lfcr.pyo File 880 bytes April 10 2024 04:58:46.
linktree.py File 2424 bytes April 10 2024 04:58:41.
linktree.pyc File 2025 bytes April 10 2024 04:58:46.
linktree.pyo File 2025 bytes April 10 2024 04:58:46.
lll.py File 742 bytes April 10 2024 04:58:41.
lll.pyc File 942 bytes April 10 2024 04:58:46.
lll.pyo File 942 bytes April 10 2024 04:58:46.
logmerge.py File 5575 bytes April 10 2024 04:58:41.
logmerge.pyc File 5083 bytes April 10 2024 04:58:46.
logmerge.pyo File 5083 bytes April 10 2024 04:58:46.
mailerdaemon.py File 7942 bytes April 10 2024 04:58:41.
mailerdaemon.pyc File 7364 bytes April 10 2024 04:58:46.
mailerdaemon.pyo File 7364 bytes April 10 2024 04:58:46.
md5sum.py File 2385 bytes April 10 2024 04:58:41.
md5sum.pyc File 2917 bytes April 10 2024 04:58:46.
md5sum.pyo File 2917 bytes April 10 2024 04:58:46.
methfix.py File 5462 bytes April 10 2024 04:58:41.
methfix.pyc File 4125 bytes April 10 2024 04:58:46.
methfix.pyo File 4125 bytes April 10 2024 04:58:46.
mkreal.py File 1627 bytes April 10 2024 04:58:41.
mkreal.pyc File 1980 bytes April 10 2024 04:58:46.
mkreal.pyo File 1980 bytes April 10 2024 04:58:46.
ndiff.py File 3808 bytes April 10 2024 04:58:41.
ndiff.pyc File 3859 bytes April 10 2024 04:58:46.
ndiff.pyo File 3859 bytes April 10 2024 04:58:46.
nm2def.py File 2443 bytes April 10 2024 04:58:41.
nm2def.pyc File 2960 bytes April 10 2024 04:58:46.
nm2def.pyo File 2960 bytes April 10 2024 04:58:46.
objgraph.py File 6017 bytes April 10 2024 04:58:41.
objgraph.pyc File 4933 bytes April 10 2024 04:58:46.
objgraph.pyo File 4933 bytes April 10 2024 04:58:46.
parseentities.py File 1719 bytes April 10 2024 04:58:41.
parseentities.pyc File 2077 bytes April 10 2024 04:58:46.
parseentities.pyo File 2077 bytes April 10 2024 04:58:46.
patchcheck.py File 7679 bytes April 10 2024 04:58:41.
patchcheck.pyc File 9128 bytes April 10 2024 04:58:46.
patchcheck.pyo File 9128 bytes April 10 2024 04:58:46.
pathfix.py File 4329 bytes April 10 2024 04:58:41.
pathfix.pyc File 3838 bytes April 10 2024 04:58:46.
pathfix.pyo File 3838 bytes April 10 2024 04:58:46.
pdeps.py File 3936 bytes April 10 2024 04:58:41.
pdeps.pyc File 3220 bytes April 10 2024 04:58:46.
pdeps.pyo File 3220 bytes April 10 2024 04:58:46.
pickle2db.py File 3942 bytes April 10 2024 04:58:41.
pickle2db.pyc File 3819 bytes April 10 2024 04:58:46.
pickle2db.pyo File 3819 bytes April 10 2024 04:58:46.
pindent.py File 17170 bytes April 10 2024 04:58:41.
pindent.pyc File 11559 bytes April 10 2024 04:58:46.
pindent.pyo File 11559 bytes April 10 2024 04:58:46.
ptags.py File 1224 bytes April 10 2024 04:58:41.
ptags.pyc File 1407 bytes April 10 2024 04:58:46.
ptags.pyo File 1407 bytes April 10 2024 04:58:46.
pysource.py File 3846 bytes April 10 2024 04:58:41.
pysource.pyc File 4009 bytes April 10 2024 04:58:46.
pysource.pyo File 4009 bytes April 10 2024 04:58:46.
redemo.py File 5792 bytes April 10 2024 04:58:41.
redemo.pyc File 5249 bytes April 10 2024 04:58:46.
redemo.pyo File 5249 bytes April 10 2024 04:58:46.
reindent-rst.py File 278 bytes April 10 2024 04:58:41.
reindent-rst.pyc File 481 bytes April 10 2024 04:58:46.
reindent-rst.pyo File 481 bytes April 10 2024 04:58:46.
reindent.py File 11417 bytes April 10 2024 04:58:41.
reindent.pyc File 9629 bytes April 10 2024 04:58:46.
reindent.pyo File 9590 bytes April 10 2024 04:58:44.
rgrep.py File 1492 bytes April 10 2024 04:58:41.
rgrep.pyc File 1881 bytes April 10 2024 04:58:46.
rgrep.pyo File 1881 bytes April 10 2024 04:58:46.
serve.py File 1147 bytes April 10 2024 04:58:41.
serve.pyc File 1597 bytes April 10 2024 04:58:46.
serve.pyo File 1597 bytes April 10 2024 04:58:46.
setup.py File 421 bytes April 10 2024 04:58:41.
setup.pyc File 548 bytes April 10 2024 04:58:46.
setup.pyo File 548 bytes April 10 2024 04:58:46.
suff.py File 621 bytes April 10 2024 04:58:41.
suff.pyc File 904 bytes April 10 2024 04:58:46.
suff.pyo File 904 bytes April 10 2024 04:58:46.
svneol.py File 2930 bytes April 10 2024 04:58:41.
svneol.pyc File 2904 bytes April 10 2024 04:58:46.
svneol.pyo File 2825 bytes April 10 2024 04:58:44.
texcheck.py File 9256 bytes April 10 2024 04:58:41.
texcheck.pyc File 8376 bytes April 10 2024 04:58:46.
texcheck.pyo File 8376 bytes April 10 2024 04:58:46.
texi2html.py File 69825 bytes April 10 2024 04:58:41.
texi2html.pyc File 83323 bytes April 10 2024 04:58:46.
texi2html.pyo File 83323 bytes April 10 2024 04:58:46.
treesync.py File 5783 bytes April 10 2024 04:58:41.
treesync.pyc File 5990 bytes April 10 2024 04:58:46.
treesync.pyo File 5990 bytes April 10 2024 04:58:46.
untabify.py File 1215 bytes April 10 2024 04:58:41.
untabify.pyc File 1583 bytes April 10 2024 04:58:46.
untabify.pyo File 1583 bytes April 10 2024 04:58:46.
which.py File 1630 bytes April 10 2024 04:58:41.
which.pyc File 1632 bytes April 10 2024 04:58:46.
which.pyo File 1632 bytes April 10 2024 04:58:46.
win_add2path.py File 1620 bytes April 10 2024 04:58:41.
win_add2path.pyc File 2069 bytes April 10 2024 04:58:46.
win_add2path.pyo File 2069 bytes April 10 2024 04:58:46.
xxci.py File 2797 bytes April 10 2024 04:58:41.
xxci.pyc File 4017 bytes April 10 2024 04:58:46.
xxci.pyo File 4017 bytes April 10 2024 04:58:46.

Reading File: //usr/lib64/python2.7/Tools//scripts/analyze_dxp.py

#! /usr/bin/python2.7
"""
Some helper functions to analyze the output of sys.getdxp() (which is
only available if Python was built with -DDYNAMIC_EXECUTION_PROFILE).
These will tell you which opcodes have been executed most frequently
in the current process, and, if Python was also built with -DDXPAIRS,
will tell you which instruction _pairs_ were executed most frequently,
which may help in choosing new instructions.

If Python was built without -DDYNAMIC_EXECUTION_PROFILE, importing
this module will raise a RuntimeError.

If you're running a script you want to profile, a simple way to get
the common pairs is:

$ PYTHONPATH=$PYTHONPATH:<python_srcdir>/Tools/scripts \
./python -i -O the_script.py --args
...
> from analyze_dxp import *
> s = render_common_pairs()
> open('/tmp/some_file', 'w').write(s)
"""

import copy
import opcode
import operator
import sys
import threading

if not hasattr(sys, "getdxp"):
    raise RuntimeError("Can't import analyze_dxp: Python built without"
                       " -DDYNAMIC_EXECUTION_PROFILE.")


_profile_lock = threading.RLock()
_cumulative_profile = sys.getdxp()

# If Python was built with -DDXPAIRS, sys.getdxp() returns a list of
# lists of ints.  Otherwise it returns just a list of ints.
def has_pairs(profile):
    """Returns True if the Python that produced the argument profile
    was built with -DDXPAIRS."""

    return len(profile) > 0 and isinstance(profile[0], list)


def reset_profile():
    """Forgets any execution profile that has been gathered so far."""
    with _profile_lock:
        sys.getdxp()  # Resets the internal profile
        global _cumulative_profile
        _cumulative_profile = sys.getdxp()  # 0s out our copy.


def merge_profile():
    """Reads sys.getdxp() and merges it into this module's cached copy.

    We need this because sys.getdxp() 0s itself every time it's called."""

    with _profile_lock:
        new_profile = sys.getdxp()
        if has_pairs(new_profile):
            for first_inst in range(len(_cumulative_profile)):
                for second_inst in range(len(_cumulative_profile[first_inst])):
                    _cumulative_profile[first_inst][second_inst] += (
                        new_profile[first_inst][second_inst])
        else:
            for inst in range(len(_cumulative_profile)):
                _cumulative_profile[inst] += new_profile[inst]


def snapshot_profile():
    """Returns the cumulative execution profile until this call."""
    with _profile_lock:
        merge_profile()
        return copy.deepcopy(_cumulative_profile)


def common_instructions(profile):
    """Returns the most common opcodes in order of descending frequency.

    The result is a list of tuples of the form
      (opcode, opname, # of occurrences)

    """
    if has_pairs(profile) and profile:
        inst_list = profile[-1]
    else:
        inst_list = profile
    result = [(op, opcode.opname[op], count)
              for op, count in enumerate(inst_list)
              if count > 0]
    result.sort(key=operator.itemgetter(2), reverse=True)
    return result


def common_pairs(profile):
    """Returns the most common opcode pairs in order of descending frequency.

    The result is a list of tuples of the form
      ((1st opcode, 2nd opcode),
       (1st opname, 2nd opname),
       # of occurrences of the pair)

    """
    if not has_pairs(profile):
        return []
    result = [((op1, op2), (opcode.opname[op1], opcode.opname[op2]), count)
              # Drop the row of single-op profiles with [:-1]
              for op1, op1profile in enumerate(profile[:-1])
              for op2, count in enumerate(op1profile)
              if count > 0]
    result.sort(key=operator.itemgetter(2), reverse=True)
    return result


def render_common_pairs(profile=None):
    """Renders the most common opcode pairs to a string in order of
    descending frequency.

    The result is a series of lines of the form:
      # of occurrences: ('1st opname', '2nd opname')

    """
    if profile is None:
        profile = snapshot_profile()
    def seq():
        for _, ops, count in common_pairs(profile):
            yield "%s: %s\n" % (count, ops)
    return ''.join(seq())

SILENT KILLER Tool