Đối với một số dịch vụ web, tôi cần tăng tốc trên các ô ggplot2 theo yêu cầu càng nhiều càng tốt. Với sự giới thiệu của memoise, một số bộ nhớ đệm được tự động giới thiệu trên các chức năng âm mưu, làm cho cốt truyện thứ hai nhanh hơn đáng kể so với cái đầu tiên. Tuy nhiên dịch vụ web của tôi chỉ vẽ 1 ô trên mỗi phiên R, do đó, điều này không giúp theo mặc định.Đầu ra ggplot2 được lưu trước bộ nhớ đệm bằng cách sử dụng memoise để sử dụng trong dịch vụ web
Tôi đã tự hỏi nếu nó có thể khôn ngoan/có thể/hữu ích để thực hiện trước (ví dụ: thực hiện một số phép tính tải, trước yêu cầu thực tế), hoặc lưu/tải cache ẩn vào đĩa cho các cuộc gọi thông thường + đầu ra.
Một ví dụ:
> 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
Tôi đã chỉnh sửa tiêu đề của bạn, tôi đã giải thích nó khi bạn tìm kiếm phiên bản ggplot2 trước thời gian sử dụng memoise (pre-memoise ggplot2). Tôi hy vọng điều này phản ánh ý định của bạn và vui lòng thay đổi lại nếu không. –
Tôi tò mò muốn biết liệu bạn có thấy bất kỳ cải tiến tốc độ nào bằng 'memoise()' ing một số hàm 'g <- ggplot() ...' hay không. Tôi đã làm như vậy (* trong * một phiên), nhưng hầu như không có bất kỳ cải tiến nào về tốc độ vẽ đồ thị. Có thể tôi đang làm sai ... – maxheld