# MySquare Example # Collect execution times for a user defined function # slowSquare. Then plot the results. slowSquare <- function(v) { result <- NULL for(i in 1:length(v)) { result[i] <- v[i]^2 } return(result) } cat("Compute squares of 1:100 with slowSquare.\n") print(slowSquare(1:100)) cat("Compute time to compute squares of 1:10000") cat(" with slowSquare.\n") # Collect times to compute squares for arrays # of various sizes. lengths = NULL times = NULL for(n in seq(1000, 10000, 1000)) { cat("n = ", n, "\n") lengths = c(lengths, n) times = c(times, as.numeric(system.time(slowSquare(1:n))["elapsed"])) } # Print lengths and times cat("Array Lengths\n") print(lengths) cat("Execution Times\n") print(times) # Plot times vs. lengths plot(lengths, times)