在R上调试igraph算法性能

在R上调试igraph算法性能,r,performance-testing,igraph,R,Performance Testing,Igraph,我正在使用R上的igraph包运行几个社区检测算法:引导特征向量、fastgreedy等。 我的目标是在不同的数据集(如小世界、SBM等)上调试这些算法的性能。 我主要对运行时、内存消耗(缓存、磁盘)等感兴趣 有没有办法调试算法的结果?我看到arpack包(由igraph使用)有一个输出跟踪并启用调试的选项。是否可以通过igraph api激活它 如果您能为我提供时间安排方面的帮助,我将不胜感激?utils::memory.size为明显的。据我所知,这两个参数在键入时指定。它们不允许在整个算法

我正在使用R上的igraph包运行几个社区检测算法:引导特征向量、fastgreedy等。 我的目标是在不同的数据集(如小世界、SBM等)上调试这些算法的性能。 我主要对运行时、内存消耗(缓存、磁盘)等感兴趣

有没有办法调试算法的结果?我看到arpack包(由igraph使用)有一个输出跟踪并启用调试的选项。是否可以通过igraph api激活它


如果您能为我提供时间安排方面的帮助,我将不胜感激<代码>?utils::memory.size为明显的。据我所知,这两个参数在键入时指定。它们不允许在整个算法过程中进行监视,因此在比较不同的算法/数据集时没有帮助。好的,那么
utils::Rprof和rprofm
可能更接近您要查找的内容。@user3370773:我不确定您的意思
microbenchmark
可以测量任何表达式的运行时间。顺便说一句,这不是一个特定于igraph的问题。请阅读:Performant Code我同意,我已经尝试使用R性能工具(microbenchmark,lineprof)。但是,在igraph软件包上使用这些工具时,结果通常是函数的摘要。我想对igraph函数中的步骤进行一些分析。例如,当使用leading.eignvector.community()时,我可以看到整个函数运行的时间,或者看到结果分配的内存量(非常少)。我希望看到每次迭代运行的时间量,以及在内存中分配的完整矩阵的内存量。