Можно ли контролировать объем памяти, который используется или был использован R для вызова функции? Например, у меня есть произвольная функция, например:
smallest.sv <- function(){
A <- matrix(rnorm(1e6), 1e3);
mysvd <- svd(A);
return(tail(mysvd$d, 1));
}
Запуск функции просто возвращает скаляр, но для вычисления функции используется много памяти. Теперь мне нужно выполнить бенчмаркинг производительности. Время обработки прост:
system.time(x <- smallest.sv())
Однако я также хотел бы знать, сколько памяти было необходимо для этого вызова, без изменения функции (она должна работать для произвольных функций). Есть ли способ сделать это?
Изменить: немного уточнить. Меня больше всего интересует верхняя граница памяти, которая использовалась во время вызова функции, т.е. Сколько физической памяти требуется для обработки вызова функции. Во многих случаях это значительно меньше, чем общая сумма выделенной памяти, о которой я думаю.