V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
heganj
V2EX  ›  奇思妙想

考虑将系统中频繁修改的文件或者目录挂载到内存

  •  
  •   heganj · 2014-03-04 09:32:16 +08:00 · 3772 次点击
    这是一个创建于 3927 天前的主题,其中的信息可能已经有所发展或是发生改变。
    考虑开发个小工具,将系统中频繁修改的文件或者目录挂载到内存。这样一来,对于程序员来说,就是bin/class目录;这样能够加快编译速度,保护SSD硬盘,还有增加空闲内存的利用率等好处。对于需要频繁存读档的游戏,也能加快存读档速度。

    我想请教一下,现在有这样的工具吗?没有的话我自己做个
    第 1 条附言  ·  2014-03-04 11:26:31 +08:00
    还有就是浏览器的离线缓存,尤其是视频
    14 条回复    1970-01-01 08:00:00 +08:00
    that5
        1
    that5  
       2014-03-04 09:44:14 +08:00 via Android
    挂载到内存需要百分百保证不断电,不然到时候哭都哭不出来。
    alexrezit
        2
    alexrezit  
       2014-03-04 09:50:07 +08:00
    SSD 根本不需要保护, 而且 OS X 本来就自带缓存. 比如说你试试把同一个 5 GB 的文件连续 hash 两次, 同时 monitor 磁盘读写, 就会发现第二次 hash 不读取磁盘.
    cxe2v
        3
    cxe2v  
       2014-03-04 10:19:32 +08:00
    好想法,可以一试
    heganj
        4
    heganj  
    OP
       2014-03-04 10:22:46 +08:00
    @that5 主要是那些不太重要的文件啦,bin/class
    @alexrezit 我是考虑到调试程序的时候需要频繁编译,每次生成的bin/class文件都是不同的,这样的话不知道缓存能做到什么程度
    alexrezit
        5
    alexrezit  
       2014-03-04 10:25:20 +08:00
    @heganj
    只要内存足够就不会释放.
    heganj
        6
    heganj  
    OP
       2014-03-04 10:38:17 +08:00
    @alexrezit 的确,这不是应用程序需要考虑的问题,而是操作系统
    viator42
        7
    viator42  
       2014-03-04 10:47:57 +08:00
    Linux下试过,没感觉速度有提升.
    heganj
        8
    heganj  
    OP
       2014-03-04 11:06:46 +08:00
    @viator42 你说的是编译吗?那看来编译的瓶颈不在IO,而在编译本身
    rrfeng
        9
    rrfeng  
       2014-03-04 11:56:09 +08:00
    有 SSD 还嫌慢吗?
    全内存适合你……
    viator42
        10
    viator42  
       2014-03-04 11:59:56 +08:00
    当时是跑WPA包,把字典文件放到内存里.结果速度比机械盘还略慢.
    可能是系统读内存和硬盘的方式不同.用操作硬盘的方式操作内存开销更大.
    heganj
        11
    heganj  
    OP
       2014-03-04 12:18:58 +08:00
    @rrfeng 一开始快,但是越用越慢了,反正内存有8G,不用白不用
    @viator42 难道是因为内存不够开始占用swap?
    msg7086
        12
    msg7086  
       2014-03-05 12:01:36 +08:00
    @heganj 不太重要又频繁读写?

    频繁读写本身就会全部缓存在内存里的……Linux/Mac/Windows都已经实现了
    heganj
        13
    heganj  
    OP
       2014-03-08 08:20:47 +08:00
    @msg7086 感觉这个还是要另外实现,因为操作系统是以数据安全为首位的,不是带电池的笔记本的话,文件还是会尽快写到硬盘。而我希望的就是永远不写到硬盘,或者关闭这个小工具时才写到硬盘。
    msg7086
        14
    msg7086  
       2014-03-09 18:35:08 +08:00
    @heganj 写入硬盘又不会影响多少性能……

    大量的小数据写入还是会在内存里合并了再flush的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:38 · PVG 03:38 · LAX 11:38 · JFK 14:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.