R/nodesrunlength.R

Defines functions nodesrunlength

Documented in nodesrunlength

#$HeadURL: file:///srv/svn/sintro/pkg/sprof/R/nodesrunlength.R $
#$Id: nodesrunlength.R 203 2013-08-11 09:19:00Z gsawitzki $
#$Date: 2013-08-11 11:19:00 +0200 (Sun, 11 Aug 2013) $
#$Author: gsawitzki $
#$Revision: 203 $
#\encoding{utf8}
# setwd("")
# source('~/Documents/lectures/src/insider/profile/sprof/pkg/R/nodesrunlength.R', chdir = TRUE)
#! To Do
#!
nodesrunlength <- function(sprof, clean=TRUE){
	profile_nodes_rlearray <- nodesprofile(sprof)
	mt <- margin.table(profile_nodes_rlearray, margin = c(1,3))

	mts <- apply(mt,1,sum)
	mtt <- apply(mt,1,function (x) {sum(x*seq(along.with=x))})
	mtav <- mtt/mts
	mtav[mtt==0] <- 0
	amt=cbind(mt,nr_runs=mts, total_time=mtt, avg_time=mtav)
	if (clean) {
		amt <- amt[amt[,"nr_runs"]>0,]
		amt <- amt[order(amt[,"total_time"], decreasing=TRUE),]
	} else
	{
		while (dim(amt)[1]< sprof$info$nrnodes ) amt <- rbind(amt,0)
	}
	return(amt)
}#nodesrunlength

Try the sprof package in your browser

Any scripts or data that you put into this service are public.

sprof documentation built on May 2, 2019, 4:45 p.m.