コード例 #1
0
ファイル: profiles.py プロジェクト: klahnakoski/annotations
def write_profiles(main_thread_profile):
    if cprofiler_stats is None:
        return

    from pyLibrary import convert
    from mo_files import File

    cprofiler_stats.add(pstats.Stats(main_thread_profile.cprofiler))
    stats = cprofiler_stats.pop_all()

    Log.note("aggregating {{num}} profile stats", num=len(stats))
    acc = stats[0]
    for s in stats[1:]:
        acc.add(s)

    stats = [{
        "num_calls": d[1],
        "self_time": d[2],
        "total_time": d[3],
        "self_time_per_call": d[2] / d[1],
        "total_time_per_call": d[3] / d[1],
        "file": (f[0] if f[0] != "~" else "").replace("\\", "/"),
        "line": f[1],
        "method": f[2].lstrip("<").rstrip(">")
    } for f, d, in iteritems(acc.stats)]
    stats_file = File(FILENAME,
                      suffix=convert.datetime2string(datetime.now(),
                                                     "_%Y%m%d_%H%M%S"))
    stats_file.write(convert.list2tab(stats))
    Log.note("profile written to {{filename}}", filename=stats_file.abspath)
コード例 #2
0
ファイル: profiles.py プロジェクト: rv404674/TUID
def write_profiles(main_thread_profile):
    if cprofiler_stats is None:
        return

    from pyLibrary import convert
    from mo_files import File

    cprofiler_stats.add(pstats.Stats(main_thread_profile.cprofiler))
    stats = cprofiler_stats.pop_all()

    Log.note("aggregating {{num}} profile stats", num=len(stats))
    acc = stats[0]
    for s in stats[1:]:
        acc.add(s)

    stats = [
        {
            "num_calls": d[1],
            "self_time": d[2],
            "total_time": d[3],
            "self_time_per_call": d[2] / d[1],
            "total_time_per_call": d[3] / d[1],
            "file": (f[0] if f[0] != "~" else "").replace("\\", "/"),
            "line": f[1],
            "method": f[2].lstrip("<").rstrip(">")
        }
        for f, d, in iteritems(acc.stats)
    ]
    stats_file = File(FILENAME, suffix=convert.datetime2string(datetime.now(), "_%Y%m%d_%H%M%S"))
    stats_file.write(convert.list2tab(stats))
    Log.note("profile written to {{filename}}", filename=stats_file.abspath)
コード例 #3
0
ファイル: datas.py プロジェクト: rv404674/TUID
 def iteritems(self):
     # LOW LEVEL ITERATION, NO WRAPPING
     d = self._internal_dict
     return ((k, wrap(v)) for k, v in iteritems(d))
コード例 #4
0
 def iteritems(self):
     # LOW LEVEL ITERATION, NO WRAPPING
     d = self._internal_dict
     return ((k, wrap(v)) for k, v in iteritems(d))
コード例 #5
0
ファイル: unique_index.py プロジェクト: yoyogias2011/TUID
 def pop(self):
     output = iteritems(self._data).next()[1]
     self.remove(output)
     return wrap(output)
コード例 #6
0
 def pop(self):
     output = first(iteritems(self._data))[1]
     self.remove(output)
     return wrap(output)
コード例 #7
0
ファイル: unique_index.py プロジェクト: rv404674/TUID
 def pop(self):
     output = iteritems(self._data).next()[1]
     self.remove(output)
     return wrap(output)