我的脚本需要很长时间才能运行。我认为一定有问题。因此,我希望找出哪条线占用了很多时间。我需要打印每行运行多长时间。
我脑海中的一个草率解决方案是使用
封装每一行tic;
my_line_here;
fprint('line %d ', line_idx);
toc;
line_idx = line_idx+1;
然而,我不愿意像这样实现,因为我很难将每一行包含在一个非常长的脚本中。有没有更聪明的方法来实现同样的目标?
答案 0 :(得分:1)
正如所提到的评论,探查者可能会做到这一点。你的问题明确表示你想打印/存储每一行的运行时间,所以我可以给你一个更好的方法。
timeSet =[0];
initTic = tic;
foo;
timeSet{end+1} = toc(initTic) - timeSet(end);
bar;
timeSet{end+1} = toc(initTic) - timeSet(end);
您还需要在每个要测量的部分之后插入timeSet行,但它只是一条标准行,因此很容易复制粘贴。我试图在你设定的范围内回答这个问题,所以我希望这对某人有用。