... además del hecho de que RSCRIPT se invoca con #!/usr/bin/env Rscript
y más pequeño con #!/usr/local/bin/r
(en mi sistema) en la primera línea del archivo de script. He encontrado ciertas diferencias en la velocidad de ejecución (parece que littler es un poco más lento).Diferencia entre RSCRIPT y Littler
He creado dos scripts dummy, ejecuté cada 1000 veces y comparé el tiempo promedio de ejecución.
Aquí está el archivo RSCRIPT:
#!/usr/bin/env Rscript
btime <- proc.time()
x <- rnorm(100)
print(x)
print(plot(x))
etime <- proc.time()
tm <- etime - btime
sink(file = "rscript.r.out", append = TRUE)
cat(paste(tm[1:3], collapse = ";"), "\n")
sink()
print(tm)
y es el archivo más pequeño aquí:
#!/usr/local/bin/r
btime <- proc.time()
x <- rnorm(100)
print(x)
print(plot(x))
etime <- proc.time()
tm <- etime - btime
sink(file = "little.r.out", append = TRUE)
cat(paste(tm[1:3], collapse = ";"), "\n")
sink()
print(tm)
Como se puede ver, son casi idénticos (primera línea y se hunden argumento de archivo difieren). La salida es sink
ed a archivo de texto, por lo tanto, se importa en R con read.table
. Creé el script bash para ejecutar cada script 1000 veces, luego los promedios calculados.
Aquí es escritura del golpe:
for i in `seq 1000`
do
./$1
echo "####################"
echo "Iteration #$i"
echo "####################"
done
y los resultados son:
# littler script
> mean(lit)
user system elapsed
0.489327 0.035458 0.588647
> sapply(lit, median)
L1 L2 L3
0.490 0.036 0.609
# Rscript
> mean(rsc)
user system elapsed
0.219334 0.008042 0.274017
> sapply(rsc, median)
R1 R2 R3
0.220 0.007 0.258
larga historia: al lado (obvio) la diferencia en tiempo de ejecución, ¿hay alguna otra diferencia? La pregunta más importante es: ¿por qué debería/no debería preferir littler sobre Rscript (o viceversa)?
+1 Gran pregunta; amar los detalles – Shane
Gracias Shane, el archivo de datos está disponible aquí: http://bit.ly/ac0Fb1 Observe que tengo una máquina muy lenta, por lo que si decide ejecutar estos scripts, es más probable que obtenga valores más bajos. Las grandes respuestas de Dirk, como de costumbre, llamaron la atención sobre otros problemas con estos scripts de referencia ... así que tome estos resultados cum grano salis. – aL3xa