Processing 如何分析处理草图的计算开销

Processing 如何分析处理草图的计算开销,processing,computation,Processing,Computation,请原谅我,如果条款不准确或这是错误的论坛 从本质上讲,我是在处理过程中写草图的,我正在努力找出代码运行缓慢的原因 有时,一个草图运行得很快,我不知道为什么除了代码行更少之外。有时,不同的草图运行缓慢,我不知道为什么 我很好奇,在处理IDE中是否有一种方法,或者一种通用工具,来确定或分析哪些代码行导致草图运行缓慢 比如说一种隔离的方法,哦,这些线路使它运行得最慢。看起来它是这个循环的一部分。也许我应该集中精力改进这个功能,而不是大海捞针 类似于当我的计算机运行缓慢时,我可以使用任务管理器查看哪些程

请原谅我,如果条款不准确或这是错误的论坛

从本质上讲,我是在处理过程中写草图的,我正在努力找出代码运行缓慢的原因

有时,一个草图运行得很快,我不知道为什么除了代码行更少之外。有时,不同的草图运行缓慢,我不知道为什么

我很好奇,在处理IDE中是否有一种方法,或者一种通用工具,来确定或分析哪些代码行导致草图运行缓慢

比如说一种隔离的方法,哦,这些线路使它运行得最慢。看起来它是这个循环的一部分。也许我应该集中精力改进这个功能,而不是大海捞针

类似于当我的计算机运行缓慢时,我可以使用任务管理器查看哪些程序运行缓慢,然后进行调整。我不只是猜测。或者毫无根据地倾向于放弃一个项目而放弃另一个项目

我当然可以上传我的草图,但这是一个独立的例子,我正试图更好地解决这个问题。我想找到一种方法来分析所有的草图。甚至用不同的语言编写代码等等

如果没有分析加工草图的通用工具,人们会怎么做?肯定有比试错、暴力、直觉或其他更好的方法。当然,这些方法可以产生更好的运行代码,但必须进行一些形式化分析

即使您没有任何特定的信息可供分享,对于搜索词、主题或主题的任何建议都将不胜感激,因为除了暴力/试错法之外,我不知道如何继续


谢谢,

没有示例代码片段,我只能提供两种通用方法

您可以做的最简单的事情就是使用代码的时间段并添加打印语句可怜人的分析器。这个想法是在运行一个你怀疑速度慢的函数/代码块之前拍一张时间快照,然后再拍一张,然后打印差异。时间差最大的代码块是您想要关注的内容。这里有一个简单的例子,假设doSomethingInteresting是一个你怀疑速度慢的函数

// get the current millis since the sketch started
int before = millis();
// call the function here
doSomethingInteresting();
// get the millis again, after the function and calculate the time difference 
int diff = millis() - before;
println("executed in ~" + diff + "ms");
如果您使用Processing的默认Java模式,您可以使用它来对PApplet进行采样。在您的例子中,您需要对CPU使用情况进行采样,VisualVM的好处是,您将按照最慢的函数调用排序结果,这是您应该首先改进的,并且您可以深入查看您的代码与运行时或其他本机代码部分的对比


您正在寻找一个分析器。不确定是否有一个用于处理,但其他语言有很多,我通常使用visual studio内置的。您好!谢谢分享,这是一个美好的开始!我从来没有听说过这样的战术,我会深入挖掘,看看能找到什么!