Для некоторых веб-сервисов мне нужно как можно больше ускорить работу по графикам ggplot2. С введением memoise некоторое кэширование автоматически вводится в функции построения графика, делая второй график значительно быстрее, чем первый. Однако мой веб-сервис только рисует 1 сюжет на сеанс R, поэтому по умолчанию это не помогает.Предварительно кэширование вывода ggplot2 с использованием memoise для использования в веб-сервисе
Мне было интересно, было бы разумно/возможно/полезно выполнять предварительную подготовку (например, выполнять некоторые вычисления на нагрузке, перед фактическим запросом) или сохранять/загружать кэши memoise на диск для обычных вызовов + вывод.
Пример:
> library(ggplot2);
> pdf(tempfile());
> system.time(print(qplot(speed, dist, color=speed, data=cars, geom=c("point", "smooth"))));
user system elapsed
0.496 0.008 0.512
> system.time(print(qplot(speed, dist, color=speed, data=cars, geom=c("point", "smooth"))));
user system elapsed
0.312 0.004 0.322
Я отредактировал ваш заголовок, я интерпретировал его как то, что вы искали версию ggplot2, которая была до того, как использовалась memoise (pre-memoise ggplot2). Надеюсь, это отражает ваше намерение и не стесняйтесь изменить его, если нет. –
Мне любопытно узнать, видели ли вы какие-либо улучшения скорости с помощью memoise(), используя некоторую функцию 'g <- ggplot() ...'. Я сделал то же самое (* в течение * одной сессии), но почти не видел улучшения в скорости печати. Возможно, я делаю это неправильно ... – maxheld