相关疑难解决方法(0)

C++迭代器和循环优化

我看到很多c ++代码看起来像这样:

for( const_iterator it = list.begin(),
     const_iterator ite = list.end();
     it != ite; ++it)
Run Code Online (Sandbox Code Playgroud)

与更简洁的版本相反:

for( const_iterator it = list.begin();
     it != list.end(); ++it)
Run Code Online (Sandbox Code Playgroud)

这两个约定之间的速度会有什么不同吗?由于list.end()只被调用一次,因此第一个会稍快一些.但由于迭代器是const,似乎编译器会将此测试从循环中拉出来,为两者生成等效的汇编.

c++ compiler-construction optimization iterator coding-style

46
推荐指数
6
解决办法
4万
查看次数

如何在Linux上配置多线程C++应用程序?

我曾经用gprof做我所有的Linux分析.

但是,对于我的多线程应用程序,它的输出似乎不一致.

现在,我挖了这个:

http://sam.zoy.org/writings/programming/gprof.html

但是,从很久以前开始,在我的gprof输出中,看来我的gprof列出了非主线程使用的函数.

所以,我的问题是:

1)2010年,我可以轻松使用gprof来分析多线程Linux C++应用程序吗?(Ubuntu 9.10)2)我应该研究哪些其他工具进行性能分析?

c++ multithreading gprof

46
推荐指数
6
解决办法
5万
查看次数

Linux C++:如何分析由于缓存未命中而浪费的时间?

我知道我可以使用gprof来对我的代码进行基准测试.

但是,我有这个问题 - 我有一个智能指针,具有额外的间接级别(将其视为代理对象).

因此,我有这个额外的层,几乎影响所有功能,并带有缓存的螺丝.

有没有办法测量我的CPU因缓存未命中而浪费的时间?

谢谢!

c++ linux profiling caching

44
推荐指数
6
解决办法
3万
查看次数

C Profilers的建议?

在执行优化之前,每个人总是说要对程序进行概要分析,但没有人描述过如何执行优化.

您对C代码进行分析的做法是什么?

c profiler profiling

39
推荐指数
3
解决办法
3万
查看次数

如何在linux上看到(C和C++)二进制符号?

你们使用哪些工具?demangle c ++符号如何能够将它传递给探查器工具,例如opannotate

谢谢

c c++ performance profiling name-mangling

37
推荐指数
1
解决办法
3万
查看次数

微观优化值得花时间吗?

我是一名PHP开发人员,我一直认为微优化不值得花时间.如果你真的需要额外的性能,你可以编写你的软件,使其在架构上更快,或者你编写一个C++扩展来处理慢速任务(或者更好的是,使用HipHop编译代码).然而,今天一位工作伙伴告诉我,这有很大的不同

is_array($array)
Run Code Online (Sandbox Code Playgroud)

$array === (array) $array
Run Code Online (Sandbox Code Playgroud)

而且我就像"呃,这真是一个毫无意义的比较",但他不同意我的看法......他是我们公司最好的开发人员,并且负责一个每天大约有5000万次SQL查询的网站 - - 例如.所以,我在这里想知道:他可能是错的还是微优化真的值得花时间和时间?

php optimization performance

37
推荐指数
4
解决办法
9729
查看次数

如何配置我的Perl程序?

我需要提高Perl应用程序的性能.我怎样才能找到慢点?


这是来自官方perlfaq的问题.我们将perlfaq导入Stack Overflow.

perl profiling

37
推荐指数
2
解决办法
2万
查看次数

哪个更快?比较还是分配?

我正在做一些编码,我必须编写这种代码:

if( array[i]==false )
    array[i]=true;
Run Code Online (Sandbox Code Playgroud)

我想知道它是否应该重写为

array[i]=true;
Run Code Online (Sandbox Code Playgroud)

这就提出了一个问题:比例分配的速度快吗?

从语言到语言的差异怎么样?(例如java和cpp之间的对比)

注意:我听说"过早优化是所有邪恶的根源." 我不认为这适用于:)

optimization performance refactoring

35
推荐指数
3
解决办法
1万
查看次数

Linux应用程序分析

我需要一些方法来记录Linux机器上的应用程序的性能.我不会有IDE.

理想情况下,我需要一个应用程序,它将附加到进程并记录定期快照:内存使用数线程CPU使用率

有任何想法吗?

linux profiling

35
推荐指数
3
解决办法
4万
查看次数

计算程序的速度?

确定处理例程所需的时间(例如函数的过程)最好和最准确的方法是什么?

我问,因为我目前正在尝试优化我的应用程序中的一些函数,当我测试更改时,如果有任何改进,只需通过查看就很难确定.因此,如果我能够返回一个准确或接近准确的处理例程的时间,那么我可以更清楚地了解代码是否有任何变化.

我考虑过使用GetTickCount,但我不确定这是否接近准确?

有一个可恢复的函数/过程来计算例程的时间是有用的,并使用它像这样:

// < prepare for calcuation of code
...
ExecuteSomeCode; // < code to test
...
// < stop calcuating code and return time it took to process
Run Code Online (Sandbox Code Playgroud)

我期待听到一些建议.

谢谢.

克雷格.

delphi optimization performance gettickcount

35
推荐指数
5
解决办法
6466
查看次数