有没有人在使用固态硬盘存储数据时,结合r/python编程语言的经验?理论上来说,如果主要进行读取操作,这应该会显著提高大型数据集的加载速度。我想找出这是否为真,并且是否值得投资于SSD以提高数据密集型应用程序中的IO速率。
有没有人在使用固态硬盘存储数据时,结合r/python编程语言的经验?理论上来说,如果主要进行读取操作,这应该会显著提高大型数据集的加载速度。我想找出这是否为真,并且是否值得投资于SSD以提高数据密集型应用程序中的IO速率。
> tt <- 100
> longtext <- paste(rep("dqsdgfmqslkfdjiehsmlsdfkjqsefr",1000),collapse="")
> test <- data.frame(
+ X1=rep(letters,tt),
+ X2=rep(1:26,tt),
+ X3=rep(longtext,26*tt)
+ )
> SSD <- "C:/Temp" # My ssd disk with my 2 operating systems on it.
> normal <- "F:/Temp" # My normal disk, I use for data
> # Write text
> system.time(write.table(test,file=paste(SSD,"test.txt",sep="/")))
user system elapsed
5.66 0.50 6.24
> system.time(write.table(test,file=paste(normal,"test.txt",sep="/")))
user system elapsed
5.68 0.39 6.08
> # Write binary
> system.time(save(test,file=paste(SSD,"test.RData",sep="/")))
user system elapsed
0 0 0
> system.time(save(test,file=paste(normal,"test.RData",sep="/")))
user system elapsed
0 0 0
> # Read text
> system.time(read.table(file=paste(SSD,"test.txt",sep="/"),header=T))
user system elapsed
8.57 0.05 8.61
> system.time(read.table(file=paste(normal,"test.txt",sep="/"),header=T))
user system elapsed
8.53 0.09 8.63
> # Read binary
> system.time(load(file=paste(SSD,"test.RData",sep="/")))
user system elapsed
0 0 0
> system.time(load(file=paste(normal,"test.RData",sep="/")))
user system elapsed
0 0 0
http://www.codinghorror.com/blog/2010/09/revisiting-solid-state-hard-drives.html是一篇关于固态硬盘的好文章,评论提供了许多见解。
取决于你正在进行的分析类型,无论是CPU限制还是IO限制。个人经验处理回归建模告诉我前者更常见,那么SSD就不会有太大用处。
简而言之,最好先对您的应用程序进行分析。
-rw-r--r-- 1 carlos carlos 335K Jun 4 08:46 test.RData
-rw-rw-r-- 1 carlos carlos 745M Jun 4 08:46 test.txt
> longtext<-paste(sample(c(0:9, letters, LETTERS),1000*nchar('dqsdgfmqslkfdjiehsmlsdfkjqsefr'), replace=TRUE),collapse="")
> test$X3<-rep(longtext,26*tt)
>
> system.time(write.table(test,file='test.txt'))
user system elapsed
2.119 0.476 4.723
> system.time(save(test,file='test.RData'))
user system elapsed
0.229 0.879 3.069
文件和数据并没有本质的区别。
-rw-r--r-- 1 carlos carlos 745M Jun 4 08:52 test.RData
-rw-rw-r-- 1 carlos carlos 745M Jun 4 08:52 test.txt
SSD的读写速度比标准的7200 RPM磁盘显着更高(使用10k RPM磁盘仍然值得,不确定其与15k相比有多大改进)。因此,是的,您将获得更快的数据访问时间。
性能提升是不可否认的。然后,就经济问题而言。2TB 7200 RPM磁盘每个售价$170,而100GB SSD则售价$210。因此,如果您拥有大量数据,可能会遇到问题。
如果您要频繁读写大量数据,请购买SSD。但是,如果应用程序需要大量CPU运算,则更换更好的处理器会更加有益。