... oltre al fatto che rscript viene richiamato con #!/usr/bin/env Rscript
e Littler con #!/usr/local/bin/r
(sul mio sistema) nella prima riga del file di script. Ho trovato alcune differenze nella velocità di esecuzione (sembra che littler sia un po 'più lento).Differenza tra rscript e più piccolo
Ho creato due script fittizi, eseguito ogni 1000 volte e confrontato il tempo medio di esecuzione.
Ecco il file 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)
ed è il file più piccolo qui:
#!/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)
Come si può vedere, sono quasi identici (prima riga e affondano argomento file differiscono). L'output è sink
ed è un file di testo, quindi importato in R con read.table
. Ho creato script bash per eseguire ogni script 1000 volte, quindi medie calcolate.
Ecco script bash:
for i in `seq 1000`
do
./$1
echo "####################"
echo "Iteration #$i"
echo "####################"
done
E i risultati sono:
# 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
farla breve: a lato (ovvio) differenza di tempo di esecuzione, c'è qualche altra differenza? La domanda più importante è: perché dovrei/non preferiresti littler su Rscript (o viceversa)?
+1 Ottima domanda; amo il dettaglio – Shane
Grazie Shane, il file di dati è disponibile qui: http://bit.ly/ac0Fb1 Notate che ho una macchina molto lenta, quindi se decidete di eseguire questi script, avrete maggiori probabilità di ottenere valori più bassi. Le grandi risposte di Dirk, come al solito, hanno attirato l'attenzione su altre questioni con questi script di riferimento ... quindi prendi questi risultati cum grano salis. – aL3xa