相关疑难解决方法(0)

最后的性能优化策略

这个网站上已经存在很多性能问题,但是我发现几乎所有这些都是特定于问题且相当狭窄的问题.几乎所有人都重复这些建议,以避免过早优化.

我们假设:

  • 代码已经正常工作
  • 所选择的算法对于问题的情况已经是最佳的
  • 已经测量了代码,并且已经隔离了违规的例程
  • 所有优化尝试也将被测量,以确保它们不会使事情变得更糟

我在这里寻找的是在一个关键算法中挤出最后几个百分点的策略和技巧,除此之外别无他法.

理想情况下,尝试使答案语言不可知,并在适用的情况下指出建议策略的任何缺点.

我将使用我自己的初步建议添加回复,并期待Stack Overflow社区可以想到的任何其他内容.

language-agnostic optimization performance

600
推荐指数
28
解决办法
8万
查看次数

是DateTime.Now是测量函数性能的最佳方法吗?

我需要找到一个瓶颈,并且需要准确地测量时间.

以下代码段是衡量性能的最佳方法吗?

DateTime startTime = DateTime.Now;

// Some execution process

DateTime endTime = DateTime.Now;
TimeSpan totalTimeTaken = endTime.Subtract(startTime);
Run Code Online (Sandbox Code Playgroud)

.net c# performance datetime timer

466
推荐指数
14
解决办法
6万
查看次数

在shell中获取程序执行时间

我想在几个不同的条件下在linux shell中执行一些东西,并能够输出每次执行的执行时间.

我知道我可以编写一个可以执行此操作的perl或python脚本,但有没有办法在shell中执行此操作?(恰好是bash)

linux bash shell

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

什么是一些好的.NET Profilers?

您在使用.net程序时使用了哪些分析器,您会特别推荐哪些?

.net c# profiler profiling

374
推荐指数
12
解决办法
31万
查看次数

你最有争议的编程意见是什么?

这绝对是主观的,但我想尽量避免它变得有争议.我认为如果人们适当地对待它可能是一个有趣的问题.

对这个问题的想法来自评论跟帖从我的回答:"你恨你喜欢的语言什么的五件事?" 问题.我争辩说C#中的类应该默认密封 - 我不会把我的推理放在这个问题上,但我可以写一个更全面的解释作为这个问题的答案.我对评论中讨论的热度感到惊讶(目前有25条评论).

那么,持有什么有争议的意见?我宁愿避免那种以相对较少的基础(例如括号放置)而变得非常宗教的东西,但是例子可能包括诸如"单元测试实际上并不十分有用"或"公共领域真的很好"之类的东西.重要的是(对我来说,无论如何)是你有理由支持你的意见.

请提出您的意见和推理 - 我鼓励人们投票支持有争议和有趣的意见,无论您是否恰好同意这些意见.

language-agnostic

363
推荐指数
237
解决办法
29万
查看次数

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

gprof 的替代品

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

profiler profiling gprof

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

获取图片函数的工具调用代码图

我有一个很大的工作空间,有许多C代码的源文件.虽然我可以使用Object浏览器看到从MS VS2005中的函数调用的函数,但是在MSVC 6.0中,这只显示了在非图形显示中从特定函数调用的函数.另外,它没有显示从say开始调用的函数main(),然后是从它调用的函数,依此类推,更深入到叶级函数内部.

我需要一个工具,它会给我一个功能调用图,用图形表示功能callee,caller用箭头或类似的东西连接,从main()最后一级功能开始,或者至少在一个C源文件中以图形方式显示所有功能的调用图.如果我能打印这张图表会很棒.

任何好的工具(不一定是免费的工具)?

c function call-graph

102
推荐指数
7
解决办法
11万
查看次数

是否有Python的可视化分析器?

我现在使用cProfile但是我觉得编写pstats代码只是为了查询统计数据很繁琐.

我正在寻找一个可视化工具,向我展示我的Python代码在CPU时间和内存分配方面的作用.

Java世界的一些例子是visualvmJProfiler.

  • 这样的事情存在吗?
  • 是否有IDE可以做到这一点?
  • dtrace的帮助吗?

我知道KCachegrind for Linux,但我更喜欢可以在Windows/Mac上运行而无需安装KDE的东西.

python profiler user-interface profiling

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

如何配置我的Android应用?

我需要找到Android应用中瓶颈的位置.

我可以使用哪些分析工具或技术?

java performance android profiling

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