ggplot2在Mac与Windows平台的3倍性能差异技术问询
ggplot2跨平台性能差异:Mac vs Windows
我日常使用ggplot2生成大量图表,发现在典型场景下Mac与Windows平台的性能存在3倍的显著差异。两台设备均使用R 4.1、ggplot2 3.3.5、AGG图形后端,且RStudio中抗锯齿选项设为默认。
Mac设备为搭载Apple Silicon的Mac mini M1;Windows设备为工作用虚拟机,虽难以获取精确参数,但配备32GB内存,其他工作负载无卡顿,因此该简单任务的性能差异不应轻易归因于内存、处理器或磁盘速度。
典型任务:生成包含10页PDF的分面图表,每页16个折线图。Mac上生成耗时约3秒,Windows上则需9-10秒。
模拟数据的测试代码如下:
library(data.table) library(ggplot2) library(glue) theme_set(theme_bw()) dat <- list() n = 51 i <- 1 for (linetype in 1:2) { for (color in 1:5) { for (v in 1:16) { dat[[i]] <- data.table( linetype=glue("L{linetype}"), color=glue("C{color}"), variable=glue("V{v}"), period=1:n, value=rnorm(n) ) i <- i + 1 } } } dat <- rbindlist(dat) system.time({ pdf("test.pdf", onefile=TRUE) for (i in 1:10) { print(ggplot(dat, aes(period, value, color=color, linetype=linetype))+geom_line()+facet_wrap(~variable)) } dev.off() })
内容的提问来源于stack exchange,提问作者Abiel
相关产品推荐
相关产品推荐

