V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
jedihy
V2EX  ›  iDev

一个 Mac 上 Ramdisk 的小测试

  •  
  •   jedihy · 2014-10-19 13:46:22 +08:00 · 3059 次点击
    这是一个创建于 3692 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这两天看到ramdisk的讨论,发现好几年没用过这个工具了,于是想测试一下Ramdisk速度。机子是rMBP294(PCI-e SSD 512G),解压Zip文件到Ramdisk和到当前目录花费时间进行比较,解压对象是文件数较多的openwrt固件压缩包,大小715M。

    直接用Mac原生归档工具
    /Volume/RAMDISK 9秒59分
    ~/Downloads/ 6秒8分
    这个条件下能直接感觉出归档在当前目录要快的多

    terminal中用tar解压缩
    4.98 real 0.50 user 4.43 sys
    11.32 real 0.80 user 9.14 sys
    此时,tar却快得多。

    这个结果感觉跟程序的优化有关,我解压的文件有5.8万个文件。

    如果是浏览器缓存的话,个人感觉还是没有将缓存放到ramdisk的必要,rMBP的SSD速度已经不是原来的串口硬盘可以比的了。早几年确实还是能感觉到ramdisk带来的性能提升,只是这个东西有些不稳定,我记得原来正常工作了几个月之后,崩了了一次,就没弄过了。此外,网络传输的瓶颈不是本机性能,而是带宽,这个估计这几年还是不会太改变。
    没用过其他PS等软件,不做评价了。
    3 条回复    2014-10-20 14:01:12 +08:00
    jox
        1
    jox  
       2014-10-19 14:47:09 +08:00
    如果硬盘还不是SSD的话,把缓存放在ramdisk里确实能够提升性能,这只体现在一些在运行过程中有大量IO行为的程序,有SSD的话,ramdisk的提升效果就没那么明显了

    感觉ramdisk用处最大的就是作为浏览器的缓存,ramdisk对我来说是个可以胡搞的地方,比如突然想起来个事情,可以在ramdisk里写个程序进行验证,我的~/路径下有个文件名为lab的link,指向ramdisk里的一个路径,这里面乱七八糟的什么都有。这个有点像emacs的机制,打开文件之后在buffer里编辑,在保存到某路径下之前buffer里的内容只存在于内存中,我觉得这个机制挺好的,ramdisk就像硬盘版的buffer,我下载文件都放到ramdisk里,比如电子书,影音图片,安装程序啥的,下载完成之后不想留就直接删除或者就放着以后地方不够了再删,想留就拷贝到硬盘上

    SSD我还是不敢放重要的静态数据,我目前只是把应用程序和系统放在SSD上,照片,音乐,电影以及程序的源文件我都放在机械硬盘上,并且做了备份,这样即使SSD崩溃了我的重要数据也不会丢失。

    另外用xcode开发和调试程序的时候,会产生一些临时数据,我把这些路径都指向了ramdisk,这个感觉确实能快一些,其实如果用git的话,可以在ramdisk里开发,然后往硬盘上的repo里push/pull,尤其IDE对源程序文件进行大量的parse行为的话,我以前试过,效果不错,就是每次想要提交代码的时候都要push,有点麻烦,就没继续了
    jox
        2
    jox  
       2014-10-19 15:11:41 +08:00
    哦,对了,还有一个,我把osx的截图路径也设为了ramdisk,就是按cmd+shifit+3/4那个快捷键截出来的图,我经常玩一款叫宠物连连看的游戏,玩到后面几关挺难的,就截图暂停然后看截图来玩,玩的过程中如果运气不好宠物排的比较刁钻的话会截很多图,放在ramdisk里然后按空格用preview看,很方便
    jedihy
        3
    jedihy  
    OP
       2014-10-20 14:01:12 +08:00
    @jox 好用途
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3237 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:59 · PVG 20:59 · LAX 04:59 · JFK 07:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.