Dropbox 用 Rust 取代 Go 精简内存占用

Dropbox昨天宣布将用户数据从亚马逊迁移到自己的数据中心,它在过去两年半里构建了自己的网络存储和同步基础设施,使用的文件储存系统Magic Pocket由自己的程序员开发。《连线》报道了负责这套系统开发的MIT毕业生James Cowling , 他设计的这套系统允许Dropbox更高效的储存数百PB的数据,Dropbox本质上是构建了自己的 Amazon S3。报道还提到了一个细节:Dropbox的硬件工程师Rami Aljamal设计了名叫Diskotech的机器去保存1PB数据,但Magic Pocket与新的硬件不匹配,所以另一位程序员Jamie Turner用全新的语言重新构建了Magic Pocket ,这个语言就是Mozilla开发的Rust。Crowling和Turner等人最早是使用Google的Go语言去构建Magic Pocket,但Go有个缺陷,它占用的内存对大规模存储系统来说太高了,所以他们在开发中途切换到了Rust语言。

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

时间: 2024-07-29 04:34:36

Dropbox 用 Rust 取代 Go 精简内存占用的相关文章

降低.NET应用程序内存占用的实践和总结

最近一周比较忙,主要的工作内容是在做一个叫"键盘精灵"的东西,简单来讲就是将很多数据放到内存中,对这些数据进行快速检索,然后找出根据输入条件最匹配的10条记录并予以展示.具体和下面两款炒股软件的相关功能类似: 数据以文本形式存在文件中,且数据量较大,有近20万条,每一条记录有几个字段,以分隔符分割.当时使用的是6万条记录的测试数据,文本文件将近10M,这个模块加载到内存并建立缓存之后,大概会占用将近70-80M的内存.自我接手以后,主要的任务就是降低内存消耗和提高匹配效率. 一.避免创

如何减少.NET应用程序的内存占用

最近一周比较忙,主要的工作内容是在做一个叫"键盘精灵"的东西,简单来讲就是将很多数据放到内存中,对这些数据进行快速检索,然后找出根据输入条件最匹配的10条记录并予以展示.具体和下面两款炒股软件的相关功能类似: 数据以文本形式存在文件中,且数据量较大,有近20万条,每一条记录有几个字段,以分隔符分割.当时使用的是6万条记录的测试数据,文本文件将近10M,这个模块加载到内存并建立缓存之后,大概会占用将近70-80M的内存.自我接手以后,主要的任务就是降低内存消耗和提高匹配效率. 一.避免创

减少.NET应用程序内存占用的一则实践

最近一周比较忙,主要的工作内容是在做一个叫"键盘精灵"的东西,简单来讲就是将很多数据放到内存中,对这些数据进行快速检索,然后找出根据输入条件最匹配的10条记录并予以展示.具体和下面两款炒股软件的相关功能类似: 数据以文本形式存在文件中,且数据量较大,有近20万条,每一条记录有几个字段,以分隔符分割.当时使用的是6万条记录的测试数据,文本文件将近 10M,这个模块加载到内存并建立缓存之后,大概会占用将近70-80M的内存.自我接手以后,主要的任务就是降低内存消耗和提高匹配效率. 一.避免

linux-Linux c语言程序内存占用大,需要注意那些方面来削减内存占用

问题描述 Linux c语言程序内存占用大,需要注意那些方面来削减内存占用 搜索了相关资料都是关于堆栈啊这些资料,感觉无从下手,请高手解答 解决方案 首先是考虑你的思路,看能否精简你的思路,使得代码更高效更简单: 其次是注意释放内存,不再用的及时释放,不多占资源: 再次是检查你的全局变量,少用全局变量可以减少运行时占用的内存: 最后是注意不要大文件一次性加载进内存,简单粗暴的效率低下. 解决方案二: malloc要及时free释放内存 其实就是如果你需要反复申请使用内存,可以考虑利用内存池的概念

降低Chrome谷歌浏览器内存占用的方法

  由于 Chrome 采用了标签页单进程设计,所以当我们使用 Chrome 同时打开多个标签页浏览网页时,系统内存占用也将大大增加.这就是人们经常抱怨的Chrome内存占用太多的问题.幸亏 Chrome 良好的扩展性产生了不少专门用于减少Chrome内存占用的扩展,在此为大家推荐自认为不错的两个: 1.Tab Hibernation 无论我们打开多少标签页,正在阅读观看的(即活动的)页面也始终只有一个,而其它的即为非活动标签.Tab Hibernation 很显然也认同这一点,当我们安装好Ta

服务器内存占用过高如何解决?

a. 首先通过http://www.aliyun.com/zixun/aggregation/11435.html">任务管理器进行进程排序,查找占用内存较大的程序进程.一般占用内存较大的进程有W3WP.sqlserver.mysqld-nt.exe b. 站点进程w3wp 可以在cmd命令行中通过 iisapp 命令来对应是那个网站占用内存较大.可以通过设置回收时间.内存最大使用值或共用进程池来减少内存的占用,但是如果要保证网站的访问质量,还是建议升级至更高型号来解决. c. 数据库 s

内存占用 递增-WPF 占用内存一直增加

问题描述 WPF 占用内存一直增加 我写个WPF,从12数据表中,共近千万条数据进行关键字排查,测试只执行2条表200万条数据,内存占用从30M 逐步升到1G以上, 代码如下 private int StartID=0; public MainWindow() { InitializeComponent(); DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(5); timer

PHP 分析查询MySQL大量数据的内存占用情况

这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及.   昨天, 有同事在PHP讨论群(276167802 验证:csl,有兴趣的话可以加入进来一起讨论)里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果之前, 数据是否已经在内存中了? -   [php]   while ($row = mysql_f

Chrome内存占用太多该怎么解决?

文章描述:解决 Chrome 浏览器内存占用方案. 由于 Chrome 采用了标签页单进程设计,所以当我们使用 Chrome 同时打开多个标签页浏览网页时,系统内存占用也将大大增加.这就是人们经常抱怨的Chrome内存占用太多的问题. 幸亏 Chrome 良好的扩展性产生了不少专门用于减少Chrome内存占用的扩展,在此为大家推荐自认为不错的两个: 1.Tab Hibernation 无论我们打开多少标签页,正在阅读观看的(即活动的)页面也始终只有一个,而其它的即为非活动标签.Tab Hiber