Questions tagged «profiling»

分析是通过运行称为探查器的分析工具来评估应用程序或系统的过程。分析工具可以集中在许多方面:函数调用次数和计数,内存使用率,CPU负载和资源使用率。

4
是MATLAB OOP运行缓慢还是我做错了什么?
我与实验MATLAB OOP,因为一开始我模仿我的C ++的记录器类和我把我所有的字符串辅助函数在String类,以为这将是巨大的,能够做的事情一样a + b,a == b,a.find( b )而不是strcat( a b ),strcmp( a, b ),检索的第一个元素strfind( a, b ),等等。 问题:减速 我把以上这些东西都使用了,立即注意到速度急剧下降。我做错了吗(由于我有限的MATLAB经验,这肯定是可能的),还是MATLAB的OOP只是引入了很多开销? 我的测试用例 这是我对字符串所做的简单测试,基本上只是添加一个字符串,然后再次删除添加的部分: 注意:实际不要在实际代码中编写这样的String类!Matlab现在具有本机string数组类型,您应该使用它。 classdef String < handle .... properties stringobj = ''; end function o = plus( o, b ) o.stringobj = [ o.stringobj b ]; end function n = …

10
分析Vim启动时间
使用Vim时,我启用了许多插件–多年来,我已经收集了插件。我有点厌倦了Vim现在开始需要多长时间,所以我想介绍一下它的启动情况,并查看我负责的许多插件中的哪一个。 有什么方法可以描述Vim的启动或脚本运行吗?理想情况下,我想知道Vim在加载的每个Vim脚本中花费了多长时间。

11
测量C ++中函数的执行时间
我想弄清楚某个函数在我的C ++程序中要花多少时间才能在Linux上执行。之后,我想进行速度比较。我看到了几个时间函数,但最终还是从boost中获得了。计时: process_user_cpu_clock, captures user-CPU time spent by the current process 现在,我不清楚是否使用上面的功能,我是否可以获得该功能唯一的CPU使用时间? 其次,我找不到使用上述功能的任何示例。谁能帮我如何使用以上功能? PS:现在,我习惯于std::chrono::system_clock::now()以秒为单位获取时间,但这由于每次CPU负载不同而给我不同的结果。

10
减少Django的内存使用量。低挂水果?
我的内存使用量随着时间的推移而增加,并且重新启动Django对用户而言并不友好。 我不确定如何分析内存使用情况,但是一些有关如何开始测量的提示将很有用。 我感觉有些简单的步骤可以带来很大的收益。确保将“调试”设置为“假”是显而易见的。 有人可以建议别人吗?在低流量的网站上缓存会带来多少改善? 在这种情况下,我使用mod_python在Apache 2.x下运行。我听说mod_wsgi较为精简,但在此阶段进行切换将非常棘手,除非我知道收益会很大。 编辑:感谢到目前为止的提示。关于如何发现内存用尽的任何建议?是否有任何有关Python内存分析的指南? 同样如前所述,有些事情会使切换到mod_wsgi变得很棘手,因此我想对在朝这个方向努力之前所能获得的收益有所了解。 编辑:卡尔在这里发布了更详细的回复,值得一读:Django部署:减少Apache的开销 编辑: Graham Dumpleton的文章是我在MPM和mod_wsgi相关的东西上找到的最好的文章。我很失望,但是没人能提供有关调试应用程序本身的内存使用情况的任何信息。 最终编辑:好吧,我一直在与Webfaction讨论这个问题,看他们是否可以协助重新编译Apache,这就是他们的话: “我真的认为切换到MPM Worker + mod_wsgi设置不会给您带来太大的好处。我估计您可能可以节省20MB左右,但可能不超过20MB。” 所以!这使我回到了最初的问题(我仍然不明智)。如何确定问题所在?这是一个众所周知的准则,如果不进行测试以查看需要优化的地方就不会进行优化,但是关于测量Python内存使用情况的教程的方式很少,而针对Django的教程则完全没有。 感谢大家的帮助,但我认为这个问题仍然悬而未决! 另一个最终编辑;-) 我在django-users列表上问了这个,并得到了一些非常有帮助的回复 老实说,有史以来最后一次更新! 这是刚刚发布。可能是迄今为止最好的解决方案:使用Pympler分析Django对象的大小和内存使用情况


6
如何分析bash shell脚本启动缓慢?
我的bash shell最多需要3-4秒才能启动,而如果我将其启动,--norc它将立即运行。 我开始进行“概要分析”,/etc/bash.bashrc并~/.bashrc通过手动插入return语句并寻求提高速度来进行,但是这不是一个定量过程,并且效率不高。 我如何配置我的bash脚本并查看哪些命令花费最多的时间来启动?
124 bash  profiling 

12
如何在Scala中分析方法?
分析Scala方法调用的标准方法是什么? 我需要的是方法周围的钩子,可以用来启动和停止计时器。 在Java中,我使用方面编程AspectJ来定义要分析的方法,并注入字节码以实现相同的目的。 Scala中是否有更自然的方法,我可以在函数之前和之后定义一堆函数,而又不会在过程中丢失任何静态类型?

5
如何逐行描述Python代码?
我一直在使用cProfile来分析我的代码,并且效果很好。我还使用gprof2dot.py可视化结果(使其更加清晰)。 但是,cProfile(以及到目前为止我见过的大多数其他Python分析器)似乎仅在函数调用级别进行分析。当从不同位置调用某些函数时,这会引起混乱-我不知道调用#1还是调用#2占用了大部分时间。当所讨论的函数有六个层次的深度(从其他七个地方调用)时,情况甚至更糟。 如何获得逐行分析? 代替这个: function #12, total time: 2.0s 我想看这样的东西: function #12 (called from somefile.py:102) 0.5s function #12 (called from main.py:12) 1.5s cProfile确实显示了“转移”到父级的总时间,但是当您有许多层和相互连接的呼叫时,该连接也会丢失。 理想情况下,我希望有一个GUI可以解析数据,然后向我显示源文件以及每行的总时间。像这样: main.py: a = 1 # 0.0s result = func(a) # 0.4s c = 1000 # 0.0s result = func(c) # 5.0s 然后,我可以单击第二个“ func(c)”调用,以查看该调用中占用的时间,与“ func(a)”调用分开。 那有意义吗?是否有任何收集此类信息的性能分析库?我错过了一些很棒的工具吗?

11
在C#中对小型代码样本进行基准测试,是否可以改善此实现?
经常在SO上我发现自己对一小段代码进行基准测试,以了解哪种实现速度最快。 我经常看到这样的评论,即基准测试代码未考虑到jitting或垃圾收集器。 我具有以下逐步发展的简单基准测试功能: static void Profile(string description, int iterations, Action func) { // warm up func(); // clean up GC.Collect(); var watch = new Stopwatch(); watch.Start(); for (int i = 0; i < iterations; i++) { func(); } watch.Stop(); Console.Write(description); Console.WriteLine(" Time Elapsed {0} ms", watch.ElapsedMilliseconds); } 用法: Profile("a descriptions", …

4
分析Haskell程序性能的工具
在解决一些Euler项目问题​​以学习Haskell时(目前我是一个完全的初学者),我遇到了问题12。我写了这个(幼稚的)解决方案: --Get Number of Divisors of n numDivs :: Integer -> Integer numDivs n = toInteger $ length [ x | x<-[2.. ((n `quot` 2)+1)], n `rem` x == 0] + 2 --Generate a List of Triangular Values triaList :: [Integer] triaList = [foldr (+) 0 [1..n] | n <- …

3
在jQuery中选择后代元素的最快方法是什么?
据我所知,有许多方法可以选择jQuery中的子元素。 //Store parent in a variable var $parent = $("#parent"); 方法1 (通过使用范围) $(".child", $parent).show(); 方法2 (find()方法) $parent.find(".child").show(); 方法3 (仅对于直系儿童) $parent.children(".child").show(); 方法4 (通过CSS选择器) -@spinon建议 $("#parent > .child").show(); 方法5 (与方法2相同) -根据@Kai $("#parent .child").show(); 我不熟悉能够自己进行调查的配置文件,因此,我很想看看您必须说些什么。 附言:我知道这可能是这个问题的重复,但并未涵盖所有方法。

7
如何测量python中代码行之间的时间?
因此,在Java中,我们可以执行如何测量函数执行所需的时间 但是如何在python中完成呢?要测量代码行之间的时间开始和结束时间?这样做的事情: import some_time_library starttime = some_time_library.some_module() code_tobe_measured() endtime = some_time_library.some_module() time_taken = endtime - starttime

8
你有像Mac一样的kcachegrind分析工具吗[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 谁能告诉我有关用于mac平台的kcachegrind wingrind valgrind等配置文件的工具。 我认为这些在Mac上不起作用,我也对此进行了快速检查。

12
是否有适用于Python的可视分析器?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 我现在使用cProfile,但是我发现编写pstats代码来查询统计数据很繁琐。 我正在寻找一个视觉工具,向我展示Python代码在CPU时间和内存分配方面的工作。 Java世界中的一些示例是visualvm和JProfiler。 是否存在这样的东西? 是否有执行此操作的IDE? 将dtrace的帮助吗? 我知道Linux版KCachegrind,但是我希望我可以在Windows / Mac上运行而无需安装KDE。

7
分析Django
我的django应用程序的生产变得非常缓慢。可能是由于一些复杂或未索引的查询。 有什么django式的方法来分析我的应用程序吗?
98 django  profiling 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.