mclapply vs para loops para plotagem: foco em velocidade e escalabilidade

Estou executando uma função em R que pode levar muito tempo para ser executada, já que ela executa vários comandos para transformar e subconjunto alguns dados antes de colocá-los emggplot tramar. Eu preciso executar essa função várias vezes ajustando os valores dos argumentos. O exemplo que vou fornecer é simples ... mas queria saber como acelerar isso? se escalado para cima, ou seja, qual é a maneira mais rápida de obter cada combinação ... existe um método genérico de conversãofor faz um loopmclapply assumindo que eles são mais rápidos ... sinta-se à vontade para fornecer exemplos simulados alternativos que demonstrem uma preferência por um método específico

exemplo simulado:

a função básica:

ff <- function(n, mu, stdev){
     x1 <- c(1:n)
     y1 <- rnorm(n,mu,stdev)
     z1 <- data.frame(cbind(x1,y1))
     ggplot(z1, aes(x=x1,y=y1))+
       geom_point()+
       labs(title=paste("n=",n,"mu=",mu, "stdev=",stdev))
}

então a maneira mais simples de passar por parâmetros seria fazer o seguinte ...

for(i in 1:10){
    for(j in 1:2){
       for(k in seq(100,500,by=100)){
         ff(k,i,j)
       }
    }
}

qual seria a maneira mais rápida de acelerar isso? Eu estou supondo que pode precisar de algo comoexpand.grid(x=c(1:10),y=c(1:2),z=seq(100,500,by=100)) e o usandomclapply percorrer cada linha ... de alguma maneira paralela? (Eu tenho 4 núcleos disponíveis para isso). Por favor, sinta-se à vontade para extrair bits da função básica ou colocar as coisas na função básica de acordo com os métodos que criariam a maior melhoria na velocidade. O processo obviamente levará mais tempo se você aumentar o alcance de cada parâmetro, mas não há nada que possa ser feito sobre isso ... ou isso pode ser alterado de alguma forma também se dividido em mais núcleos ou algo assim ...?

e para pontos de bônus ... existe alguma coisa que irá salvar as imagens de saída e criar sliders como no pacotemanipulate para percorrer todos os parâmetros de forma interativa ... em que tudo o que está fazendo é extrair a imagem relevante, em vez de recalculá-la a cada vez.

N.B. Por favor, sinta-se livre para usar / sugerir quaisquer outros pacotes (comoforeach) que você acha que pode ser útil para sua solução

questionAnswers(2)

yourAnswerToTheQuestion