profiling相关内容

在C#中对小代码示例进行基准测试,这个实现可以改进吗?

经常在 SO 上,我发现自己对小块代码进行基准测试,以查看哪种实现最快. 我经常看到一些评论说基准测试代码没有考虑抖动或垃圾收集器. 我有以下简单的基准测试功能,我慢慢发展: static void Profile(string description, int iterations, Action func) {//暖身功能();//清理GC.Collect();var watc ..
发布时间:2021-12-08 11:35:26 C#/.NET

分析代码以提高效率?

您使用哪些工具来确定代码的效率?您是否使用运行大量测试的本土应用程序或某些商业产品?您是否使用自己的知识来测试代码的某些区域,或者使用一些工具来分析代码的弱点? 解决方案 这叫做 profiling.对于各种不同的语言,有许多现成的工具可以帮助您确定应用程序中的瓶颈在哪里.例如,用于 Java 的 TPTP 工具集可以向您展示性能瓶颈所在的各个方法水平,如果你愿意的话.当然,有时您真正需要 ..
发布时间:2021-12-08 11:31:09 其他开发

分析 javascript 执行的最佳方法是什么?

是否有好的 JavaScript 分析器?我知道 firebug 对分析代码有一些支持.但我想确定更长期的统计数据.假设您正在构建大量 javascript 代码,并且想要确定代码中的实际瓶颈是什么.起初,我想查看每个 javascript 函数和执行时间的配置文件统计信息.接下来是包含 DOM 函数.这与诸如渲染树上的操作之类的减慢操作相结合将是完美的.我认为如果性能在我的代码、DOM 准备或渲 ..
发布时间:2021-12-08 11:23:22 前端开发

可以使用分析器,但为什么不停止程序呢?

如果某件事使单线程程序需要花费 10 倍的时间,那么您可以在其上运行分析器.您也可以使用“暂停"按钮停止它,然后您就会确切地看到它在做什么. 即使它只比应有的速度慢 10%,如果您多次停止它,不久您就会看到它反复做不必要的事情.通常问题是堆栈中间某处的函数调用并不是真正需要的.这并不能衡量问题,但它确实可以找到问题. 编辑:反对意见主要假设您只取了 1 个样本.如果您是认真的,请选择 ..
发布时间:2021-12-08 10:59:10 其他开发

如何在 Scala 中分析方法?

分析 Scala 方法调用的标准方法是什么? 我需要的是围绕一个方法的钩子,我可以使用它来启动和停止计时器. 在 Java 中,我使用方面编程,aspectJ,来定义要分析的方法并注入字节码以实现相同的目的. 在 Scala 中是否有更自然的方法,我可以在其中定义一堆要在函数之前和之后调用的函数,而不会在过程中丢失任何静态类型? 解决方案 您是否希望在不更改要为其测量计时 ..
发布时间:2021-12-07 13:01:30 其他开发

使用 Instruments 分析 iPhone 应用程序时缺少符号名称

我正在通过命令行编译 iPhone 应用程序(因此不涉及 XCode 选项),并且在使用 Instruments 进行分析时无法显示我的符号名称.我尝试了几个标志,例如 -gdawrf-2 和 -g,但都没有成功.我也尝试过使用 dsymutils 来生成 .dSYM 文件,但我不知道我应该如何使用它,因此也失败了. 任何帮助将不胜感激! 解决方案 Instruments 如何获取调 ..
发布时间:2021-12-05 20:56:35 移动开发

你如何测试VBA代码的运行时间?

VBA 中是否有代码我可以用它包装一个函数,让我知道运行所需的时间,以便我可以比较函数的不同运行时间? 解决方案 除非您的函数非常慢,否则您将需要一个非常高分辨率的计时器.我所知道的最准确的是 QueryPerformanceCounter.谷歌它以获取更多信息.尝试将以下内容推送到一个类中,将其称为 CTimer 说,然后您可以在全局某处创建一个实例,只需调用 .StartCounter ..
发布时间:2021-12-03 16:13:25 其他开发

有没有像样的 C# 分析器?

我需要一个 C# 分析器. 虽然我不反对付费,但免费或至少有试用版的东西是理想的,因为提出采购订单需要时间. 有什么建议吗? 解决方案 您可以尝试以下操作: nprof(免费但有点旧) ProfileSharp(开源) .Net Memory Profiler(非常适合内存泄漏,有试用版) 编辑:Nprof 已被替换为 SlimTune 并适用于 .Net 4. ..
发布时间:2021-12-02 14:03:08 C#/.NET

如何获取内存中的对象大小?

我需要知道我的对象在内存中消耗了多少字节(在 C# 中).例如,我的 Hashtable 或 SortedList 或 List 有多少. 解决方案 这可能不准确,但对我来说已经足够了 long size = 0;对象 o = 新对象();使用 (Stream s = new MemoryStream()) {BinaryFormatter 格式化程序 = new BinaryForma ..
发布时间:2021-12-02 13:54:04 C#/.NET

在 C++ 中测量函数的执行时间

我想了解某个函数在我的 C++ 程序中在 Linux 上执行所需的时间.之后,我想做一个速度比较.我看到了几个时间函数,但最终从 boost 得到了这个.时间: process_user_cpu_clock,捕获当前进程花费的用户-CPU时间 现在,我不清楚是否使用上述功能,我是否会获得 CPU 在该功能上花费的唯一时间? 其次,我找不到任何使用上述功能的示例.任何人都可以帮助我如何使用 ..
发布时间:2021-12-01 15:46:54 C/C++开发

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

我有一个在 Linux 上运行的 C++ 应用程序,我正在对其进行优化.如何确定代码的哪些区域运行缓慢? 解决方案 如果您的目标是使用分析器,请使用推荐的其中之一. 但是,如果您很着急并且可以在调试器下手动中断程序,而它主观上很慢,那么有一种简单的方法可以找到性能问题. 暂停几次,每次都查看调用堆栈.如果有一些代码浪费了一定百分比的时间,20% 或 50% 或其他什么,这就是您 ..
发布时间:2021-12-01 14:37:41 服务器开发

分析 PHP 脚本的最简单方法

分析 PHP 脚本的最简单方法是什么? 我很想添加一些东西,向我展示所有函数调用的转储以及它们花费的时间,但我也可以围绕特定函数放置一些东西. 我尝试使用 microtime 功能: $then = microtime();myFunc();$now = microtime();echo sprintf("已过:%f", $now-$then); 但这有时会给我负面的结果.另外,把 ..
发布时间:2021-12-01 10:57:13 PHP

推荐使用哪种 Python 内存分析器?

我想知道我的 Python 应用程序的内存使用情况,特别想知道哪些代码块/部分或对象消耗了最多的内存.Google 搜索显示一个商业版本是 Python 内存验证器(仅限 Windows).> 开源的是 PySizer 和 Heapy. 我没有尝试过任何人,所以我想知道哪一个是最好的考虑: 提供了大部分细节. 我必须对我的代码做最少或不做任何更改. 解决方案 guppy ..
发布时间:2021-11-30 23:58:16 Python

SQL Server Management Studio 2008 R2 中的查询分析器在哪里?

我有一些正在运行的 SQL,在 asp.net c# 应用程序中返回结果/解析/显示等需要很长时间. 我安装了 SQL Server Management Studio 2008 R2 以连接到远程 SQL Server 2000 机器.是否有查询分析器或分析器可以用来查看发生了什么?我不确定我是否发送了太多请求,请求是否花费了太长时间,是否还有其他索引可以添加以加快速度等. 编辑: ..
发布时间:2021-11-27 11:58:34 数据库

如何分析内存使用情况 &与仪器的性能?

在所有仪器跟踪模板中,我喜欢使用: 僵尸检测对象在哪里被过度释放,非常适合调试 EXEC_BAD_ACCESS 错误. 泄漏检测内存泄漏. 核心动画 w 颜色混合层来检测帧速率和半透明子视图,非常适合平滑 UITableView 滚动. 我总是听到人们说要分析我的应用程序的内存使用情况&性能. 为什么要分析内存使用情况 &表现?我的应用运行良好. 我该怎么做? 我使用 ..
发布时间:2021-11-27 08:09:21 其他开发

如何分析 WPF 4.5 UI 性能?

我正在开发一个 .NET 4.5 WPF 应用,但遇到了 UI 渲染性能问题. 在谷歌搜索之后,我发现了 WPF Performance Suite 页面,它准确描述了我需要的工具 - Visual Profiler.它允许查看 WPF 元素树并分析每个元素对总渲染时间的贡献. 唯一的问题是该页面指出该工具包含在针对 Windows 7 和 .NET 4.0 的 Microsoft W ..
发布时间:2021-11-26 11:07:48 C#/.NET

对 Java 堆分析工具的推荐?

列出您最喜欢的堆分析工具(例如 jprofiler、jmap 等).让我们为每个答案保留一个工具,并列出每个工具的优缺点. 解决方案 YourKit : http://www.yourkit.com/ 优点: 界面干净,速度快 它打开了一个 5-gig 的大型堆转储,jProfiler 笑得停了下来.它只需要 1-2 个 JVM 内存就可以做到这一点. 缺点:当然... ..
发布时间:2021-11-25 10:47:55 Java开发

如何检测 RDTSC 是否返回恒定速率计数器值?

似乎来自 AMD 和 Intel 的大多数较新的 CPU 都将 rdtsc 实现为恒定速率计数器,从而避免了由于 TurboBoost 或省电设置等因素导致的频率变化引起的问题. 由于 rdtsc 比 QueryPerformanceCounter 更适合用于性能测量,因为它的开销要低得多,我想尽可能使用它. 如何可靠地检测 rdtsc 是否为恒定速率计数器? 解决方案 你可以 ..
发布时间:2021-11-25 05:41:27 C#