- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个简单的程序:
#include <unistd.h>
void ssleep(unsigned int s)
{
usleep(1000000*s);
}
int main(int, char**)
{
ssleep(1);
}
在这些命令之后:
sch@sch-K52F:~/test$ g++ -pedantic -Wall main.cpp -pg
sch@sch-K52F:~/test$ ./a.out
sch@sch-K52F:~/test$ gprof -b a.out > profile
我得到一个没有时间摘要的配置文件:
% cumulative self self total
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 1 0.00 0.00 ssleep(unsigned int)
与任何其他代码的情况相同。我错过了什么吗?
我的系统:
sch@sch-K52F:~/test$ uname -a
Linux sch-K52F 3.2.0-45-generic-pae #70-Ubuntu SMP Wed May 29 20:31:05 UTC 2013 i686 i686 i386 GNU/Linux
sch@sch-K52F:~/test$ gprof -v
GNU gprof (GNU Binutils for Ubuntu) 2.22
Based on BSD gprof, copyright 1983 Regents of the University of California.
This program is free software. This program has absolutely no warranty.
谢谢
编辑 1)
其他例子:
time seconds seconds calls Ts/call Ts/call name
0.00 0.00 0.00 1482 0.00 0.00 std::_Iter_base<unsigned char*, false>::_S_base(unsigned char*)
0.00 0.00 0.00 1482 0.00 0.00 std::_Niter_base<unsigned char*>::iterator_type std::__niter_base<unsigned char*>(unsigned char*)
0.00 0.00 0.00 1247 0.00 0.00 std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_get_Tp_allocator()
0.00 0.00 0.00 988 0.00 0.00 __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >::base() const
0.00 0.00 0.00 988 0.00 0.00 std::move_iterator<unsigned char*>::base() const
0.00 0.00 0.00 988 0.00 0.00 std::vector<unsigned char, std::allocator<unsigned char> >::size() const
0.00 0.00 0.00 988 0.00 0.00 std::_Iter_base<std::move_iterator<unsigned char*>, true>::_S_base(std::move_iterator<unsigned char*>)
0.00 0.00 0.00 988 0.00 0.00 std::move_iterator<unsigned char*>::move_iterator(unsigned char*)
0.00 0.00 0.00 988 0.00 0.00 std::_Miter_base<std::move_iterator<unsigned char*> >::iterator_type std::__miter_base<std::move_iterator<unsigned char*> >(std::move_iterator<unsigned char*>)
0.00 0.00 0.00 988 0.00 0.00 std::move_iterator<unsigned char*> std::make_move_iterator<unsigned char*>(unsigned char* const&)
0.00 0.00 0.00 741 0.00 0.00 __gnu_cxx::new_allocator<unsigned char>::max_size() const
0.00 0.00 0.00 555 0.00 0.00 operator new(unsigned int, void*)
0.00 0.00 0.00 541 0.00 0.00 void std::_Destroy_aux<true>::__destroy<unsigned char*>(unsigned char*, unsigned char*)
0.00 0.00 0.00 541 0.00 0.00 std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_M_deallocate(unsigned char*, unsigned int)
0.00 0.00 0.00 541 0.00 0.00 void std::_Destroy<unsigned char*>(unsigned char*, unsigned char*)
对于任何代码、任何函数,我总是得到零时间;/
最佳答案
这是因为 sleep() 不算作进程执行时间的一部分,而是算作 sleep 。也就是说,您的进程在请求的持续时间内被内核置于 sleep 状态,并且不使用任何 CPU 周期。尝试使用一些进行实际计算的循环。此外,gprof 似乎无法为系统调用和其他东西计时。它还具有 other issues . Gprof 旨在比较您自己的代码在连续重构中的性能增益,而不是作为一个通用的基准测试工具。
关于c++ - gprof 探查器不打印时间摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16907782/
我最近发布了一个 problem我正在进行身份验证,但没有收到任何回复,所以我想到了另一种方式来提问而不是多余的。 我在应用程序中看到的内容 documentation是传递访问 token 以进行身
我有一个具有许多不同值的因素。如果执行 summary(factor)输出是不同值及其频率的列表。像这样: A B C D 3 3 1 5 我想制作频率值的直方图,即 X 轴包含发生的不同频率,Y 轴
我有 2 个表,其中包含一组数据,如下所示,我想获得 RESULT 中的结果,该结果将在字段 balance 中进行计算: 我被困在余额字段中,如何让余额运行? tblIn in_date |
我有一个大量重载的方法 MethodA,它由我的 MethodB 文档中的摘要标记引用: /// A link to void MethodB { ... } 注释不应仅依赖于 MethodA 的特
当我将新的 details 标签与 summary 结合使用时,我想禁用生成的输入。我以为 可以解决这个问题,但遗憾的是它不起作用。 如何禁用细节元素? 最佳答案 一个非常简单的方法是只使用 CSS
如何在 Visual Studio 中生成此类摘要? /// /// Returns a number /// /// /// 最佳答案 在你的方法、属性等之前输入///,VS会自动生成注释
关于简单的看似无辜的函数的简单问题:summary。 直到我看到min和max的结果超出了我的数据范围,我才意识到summary有一个指定输出结果精度的参数。我的问题是如何以一种干净、普遍的方式来解决
我有一个数据框 a,其中包含 4 个标识列:A、B、C、D。使用 ddply() 创建的第二个数据框 b 包含每组 的不同 D 的所有值的摘要>A、B、C。第三个数据框 c 包含 b 的子集,其中包含
这个问题在这里已经有了答案: jsdoc: multiline description @property (4 个回答) 4年前关闭。 我正在为我的 javascript 项目使用 Visual S
我有一个向量的 R 摘要: summary(vector) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.000 1.000 2.000 6
我想创建一个新的计算列(另一列文本的摘要)。为了让您重现,我创建了一个 df 作为可重现的示例: df head(df,3) name 1 ZKBOZVFKNJBRSDW
假设我有一棵对象树,其中每个对象都有一个字符串表示。我想在整棵树上创建一个 SHA1 摘要。 最简单的方法是递归遍历树的每个节点。对于每个节点,我将连接(作为简单字符串)所有子节点的 SHA1 摘要,
因此,我试图围绕 MVVM 进行思考,但我发现我的问题多于答案。当涉及到下一步时,这些教程对我来说还远远不够...... 基本上我想要一个项目列表,然后是一种获取每个项目详细信息的方法。 下面是我在网
我希望将 princomp PCA(必须是 princomp)的摘要作为数据框,以便我可以使用 kable 格式化表格以生成报告。 这是我尝试使用的代码,从中应该清楚我想要做什么; kable( as
我们的一页很重。为了减少我们的观察者数量并加速 Angular 摘要周期,我们大量使用了 On-Time-Binding 语法 :: .我们也在使用angular-bind-notifier以避免对我
我正在与我受雇的公司合作,试图为我们的内部库创建更好的文档。我们希望最终检查每个类并更新我们的命名方案(过去有很多草率的代码)。我想要的是能够打印出 javadoc 的摘要。它需要排除页面底部的完整解
我正在尝试创建一个分组摘要,报告每个组中的记录数,然后还显示一系列变量的均值。 我只能弄清楚如何将其作为两个单独的摘要进行处理,然后再将它们合并在一起。这工作正常,但我想知道是否有更优雅的方法来做到这
我正在尝试从 this file 中获取带有百分比的交叉表使用 Hmisc .但为什么是summary()从变量 OCCUPATION 中删除类别(“OTHERS”)? library(Hmisc)
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
如标题所示,我想为 PreferenceAcitvity 创建自定义标题栏。我需要在标题下方添加摘要。目前它只会显示一个标题,但我需要一个副标题,就像任何 Preference 都可以有一个摘要。 我
我是一名优秀的程序员,十分优秀!