- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在生成多个进程并在每个进程中启动检测。当我尝试在进程退出之前停止检测时,检测程序似乎卡在 shell 中,就好像进程已经完成并且没有进程来停止检测。这是代码:
from os import system,fork,getpid
from glob import glob
from sys import exit
for filename in glob("py/*.py"):
f=fork()
if f==0:
system("callgrind_control --instr=on "+str(getpid()))
execfile(filename,{})
system("callgrind_control --instr=off "+str(getpid()))
exit()
如何解决挂起问题?我真的需要停止仪器吗?
最佳答案
我通过使用 call
而不是 system
以及参数 shell=True
解决了 callgrind_control
挂起问题
from os import system,fork,getpid
from glob import glob
from subprocess import call
from multiprocessing import Process
def caller(filename):
pid=getpid()
call(["callgrind_control","--instr=on",str(pid)],shell=True)
execfile(filename,{})
call(["callgrind_control","--instr=off",str(pid)],shell=True)
for filename in glob("py/*.py"):
p=Process(target=caller,args=(filename,))
p.start()
p.join()
关于python - 停止 callgrind 中的检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825288/
我对用 C/C++ 编写的代码测试某些函数调用的速度很感兴趣。我进行了搜索,并被指示使用带有 Callgrind 工具的 Valgrind 平台。 我已简要阅读 manual ,但我仍然想知道如何利用
我想使用 callgrind 分析我的应用程序。现在,由于需要很长时间,同时我在同一台机器上继续进行网页浏览、编译和其他密集任务。 我对分析结果有偏差吗?我希望,由于 valgrind 使用模拟 CP
是否可以通过 Callgrind 的分析输出取回跟踪信息? 如果是,您能否解释一下这是如何完成的? [更新] 这可能是我的术语。使用 Kcachegrind 查看 Callgrind 分析结果时调用的
我正在分析我的代码,我已经找到了其中最昂贵的部分。但是它发生在内联函数中。为了衡量影响,我强制不内联该函数。 现在我想报告准确的分析数据。如果没有内联,我们会有巨大的开销(该函数基本上是一个循环,但它
我有一个带有内部循环的程序,由于它执行的迭代次数,它需要非常非常快。为了分析这段代码,我一直在使用 valgrind/callgrind。我发现它是一个很棒的工具。不幸的是,我在优化方面的努力使我不得
我正在使用 callgrind 来分析一个 linux 多线程应用程序,大部分情况下它运行良好。我在关闭仪器 (--instr-atstart=no) 的情况下启动它,然后在设置完成后,我通过 cal
我正在尝试通过消除我不关心的噪音和计算来分析(使用 Callgrind)我的代码的特定部分。这是我想做的一个例子: for (int i=0; i
我目前正在尝试分析和调试我正在使用的库的性能问题。为此,我写了一个简短的C++代码将使用该库的一些核心功能并在其上运行一个简单的计时器。 为了更深入地研究,我现在开始将 valgrind 与 --to
我想使用 valgrind 进行一些分析,因为它不需要重新构建程序。 (我想分析的程序已经用“-g”构建了) 但是 valgrind(callgrind) 很慢......所以这是我要做的: 启动服务
我的应用程序需要一个动态调用图。我用 callgrind 运行它工具( valgrind 套件)并得到 callgrind.out.xxxxx文件。现在,我想对这些数据进行图形表示。 KCacheGr
我想将 callgrind 的输出重定向到文件名 call_grind.txt ,但是当我尝试这样做时,会生成一个文件,但该文件内没有输出。 例如: valgrind --tool=callgrind
我想使用 Callgrind 来查找一些复杂的 Rcpp 代码中的瓶颈。由于我无法让它工作,所以我决定编写一个简单的 R 文件,以确保它能够正常工作。 但是,我仍然无法让它工作。 我的简单功能是: a
我正在尝试了解 Callgrind 配置文件格式。我找到了 online description 在遇到“扩展示例”之前,我认为自己理解得很好: events: Instructions fl=fil
我有一个 kcachegrind/callgrind 报告奇怪结果的模型代码。这是一种调度程序功能。调度员从 4 个地方调用;每个电话都说,实际do_J要运行的函数(所以 first2 将只调用 do
我正在尝试对 callgrind 的某些结果运行 KCacheGrind。基本上,代码库是一个插件容器,它启动共享对象以运行特定功能。使用 Callgrind 分析此应用程序后,我可以看到功能级别的成
抱歉,我无法创建一个最小的完整示例,因为问题只发生在相对较大的程序中,我不确定这本身就是一个“错误”,而不是对 callgrind 分析应该完成的误解. 我有一个大型程序,其运行时间被分成大约 50
我第一次尝试使用 Callgrind/Kcachegrind 来分析我的 C++ 应用程序,我注意到需要更多时间的两个函数是: (50% 自己)和 do_lookup_x(15% 自己) 现在,根据我
我正在生成多个进程并在每个进程中启动检测。当我尝试在进程退出之前停止检测时,检测程序似乎卡在 shell 中,就好像进程已经完成并且没有进程来停止检测。这是代码: from os import sys
Java 是否有一个免费 的 callgrind?基本上,我只需要任何能为我的 Java 代码的每个方法和函数提供周期计数或花费时间的东西。 我想我应该提一下我使用的是 mac,这意味着下面的 ecl
我正尝试在 GNU/Linux 上分析一个共享库,它进行实时音频处理,因此性能很重要。我运行另一个程序,将它连接到我系统的音频输入和输出,并使用 callgrind 对其进行分析。 查看 KCache
我是一名优秀的程序员,十分优秀!