相关疑难解决方法(0)

如何分析在Linux上运行的C++代码?

我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?

c++ unix profiling

1732
推荐指数
12
解决办法
49万
查看次数

gprof 的替代品

还有哪些程序与 gprof 做同样的事情?

profiler profiling gprof

170
推荐指数
6
解决办法
7万
查看次数

优化C#/ .NET程序的技巧

如今优化似乎是一种迷失的艺术.所有程序员都没有从代码中挤出每一盎司的效率吗?经常在雪地里行走五英里的时候这样做?

本着回归丢失的艺术的精神,您知道的简单(或复杂)变化以优化C#/ .NET代码的一些提示是什么?因为它是如此广泛,取决于一个人想要完成什么,它有助于提供你的提示的背景.例如:

  • 当连接多个字符串时,请使用StringBuilder.请参阅底部的链接以了解相关信息.
  • 使用string.Compare两个字符串比较,而不是做这样的事情string1.ToLower() == string2.ToLower()

到目前为止,普遍的共识似乎是衡量关键.这种方式忽略了这一点:测量不会告诉你什么是错的,或者如果遇到瓶颈会怎么做.我遇到了字符串连接瓶颈一次,不知道该怎么办,所以这些提示很有用.

我甚至发布这个问题的意思是为了解决常见的瓶颈问题,以及在遇到这些问题之前如何避免它们.它甚至不一定是任何人应该盲目遵循的即插即用代码,而是更多关于获得对性能应该被考虑的理解,至少在某种程度上,并且需要注意一些常见的陷阱.

我可以看到,知道为什么提示有用以及应该应用的位置可能会有用.对于StringBuilder小费,我找到了很久以前在Jon Skeet网站上做过的帮助.

.net c# optimization

78
推荐指数
10
解决办法
4万
查看次数

什么是非常简单的C++探查器(VC++)?

我过去曾经使用过一些分析器,但从未发现它们特别容易.也许我挑选了不好的,也许我真的不知道我在期待什么!但是我想知道是否有任何"标准"分析器只是简单地投入使用?我不相信我需要大量详细的报告,只是为了获取主要的黑点.在这一点上,易用性对我来说更重要.

这是我们正在使用的VC++ 2008(我亲自运行标准版).我不认为IDE中有任何工具,看不到主菜单我看不到任何工具?

c++ profiling visual-c++

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

node_s/v8 flamegraph中使用perf_events的未知事件

我尝试做使用Linux作为perf_events由布伦丹·格雷格描述的一些分析的NodeJS 这里.

工作流程如下:

  1. 运行节点> 0.11.13 with --perf-basic-prof,这将创建/tmp/perf-(PID).map写入JavaScript符号映射的文件.
  2. 使用捕获堆栈 perf record -F 99 -p `pgrep -n node` -g -- sleep 30
  3. 使用此存储库中的stackcollapse-perf.pl脚本折叠堆栈
  4. 使用flamegraph.pl脚本生成svg火焰图

我得到以下结果(开头看起来非常好): 在此输入图像描述

问题是有很多[unknown]元素,我认为应该是我的nodejs函数调用.我假设整个过程在第3点失败,其中perf数据应该使用由node/v8生成的映射来折叠--perf-basic-prof./tmp/perf-PID.map在节点执行期间创建文件并将一些映射写入其中.

如何解决这个问题呢?

我使用的是CentOS 6.5 x64,并且已经尝试使用节点0.11.13,0.11.14(预建和编译),但没有成功.

performance profiling v8 node.js perf

8
推荐指数
2
解决办法
3414
查看次数

标签 统计

profiling ×4

c++ ×2

.net ×1

c# ×1

gprof ×1

node.js ×1

optimization ×1

perf ×1

performance ×1

profiler ×1

unix ×1

v8 ×1

visual-c++ ×1