网络分配器:rust最新版Rust 1.32.0释出预设使用系统分配器
2019-01-20 17:01
Rust将发表最新的版本,过去因为种种原因使用jemalloc作为预设分配器,但是现在Rust 1.28将加入全域分配器,快来看一下是这样的吗?官方也就顺势在这个版本,将预设分配器切换成系统分配器。
Rust释出了最新的更新版本1.32.0,新增了方便侦错用的dbg巨集,更换了预设的分配器,从原本预设使用jemalloc改为系统分配器。
Rust 1.32.0加入了dbg巨集(Macro),这个巨集是列印侦错流开发者(Print Debugger)一大福音,过去用println!列印变数,要麻烦地设定参数,而使用dbg,只需要把参数丢进dbg!中,就能简单地显示变数中的值,而且还不需要担心上下文。当开发者有好几个println!需要处理,便很容易混淆,除非开发者想要多花费心力,自己增加上下文。
官方还提到,开发者使用println!并不是好习惯,因为println!列印标准输出,反而eprintln!会是一个比较好的选择,因为eprintln!列印标准错误,而使用dbg!也不需要担心,该巨集以正确的方式处理标准错误。虽然dbg!只是一个小巨集,但是却能帮助开发者的侦错体验。
过去Rust使用jemalloc而非系统分配器(Allocator),虽然普遍认为jemalloc的效能比较好,但随着时间发展,情况已经改变了,不过,官方却也越来越难把jemalloc拿掉,因为势必造成部分使用jemalloc的程式发生错误。另外,jemalloc只是特定平台的预设配置,在Windows上,早已使用系统分配器很长一段时间了。
官方提到,虽然jemalloc效能不错,但也有其缺点,像是jemalloc会增加每个Rust二位元档案约300Kb的大小。基于种种原因,加上从Rust 1.28开始提供全域分配器,因此官方也就在Rust 1.32把预设分配器切换成系统分配器,但开发者仍然可以从Crate使用到jemalloc。
此外,在过去两个发布版本中,官方对模组系统进行了一些改进,而在Rust 1.32.0完成最后一步,统一路径现在允许之前无效的输入路径语句,其解析的方法与非输入路径的方式相同。到这个版本,官方已经完成模组系统的简化工作。
相关文章
- 鐜嬪仴鏋楄瀹跺嵃娓歌墖鏇濆厜 缃戝弸锛氳繖娆$湡鏄传绌烽檺鍒朵簡鎴戜滑鐨勬兂鍍忓姏
2018-04-16 16:32
- 涓夊搴﹀叏鐞冨彲绌挎埓璁惧鍑鸿揣閲忎笂娑94.6%锛岃嫻鏋滅ǔ鈥
2019-12-10 17:52
- Samsung鏂颁笓鍒╂洕鍏夊叏闈㈠睆娌℃湁鍒樻捣
2018-05-13 13:33
- 鍏ㄥ箙楂橀熻繛鎷岰anon1DX鍗曟満鍞28800鍏
2018-04-09 17:32
- 鍗庝负Mate X棰勮渚涜揣20涓囧彴宸﹀彸
2019-06-30 15:50
- 杞婚噺绾у叆闂ㄦ満锛欶ujifilmX-M1鏃犲弽鐧诲満
2018-01-03 12:00
- 闂厜鐏珶鏈夎繖涔堝鑺辨牱榄呰摑E2璇勬祴
2018-05-29 19:33
- 涓寰幆缁忔祹鐮旂┒闄㈠湪娌у窞鎴愮珛
2020-12-28 16:52
- 2018鏄ヨ妭绗竴鏂版満 榄呰摑E3鑳岄潰璁捐鎹夌溂
2019-02-19 05:37
- iPhone6Plus鎼滀笉鍒癢iFi 鎵嬫満搴楁病淇ソ 澶х鎬濊矾娓呮櫚涓鎷涙悶瀹
2018-05-02 14:31
- 闃块噷YunOS鍗冲皢鍒版潵 鐩墠宸叉湁鍥戒骇鎵嬫満鏀寔 鏈熷緟鍚楋紵
2018-04-29 20:31
- 闇稿睆浜嗭紒闂嵎缃戝叓鍛ㄥ勾鎰熸仼鍥為娲诲姩鐏儹杩涜涓紒
2021-07-22 19:46
- 360鎽勫儚鏈3C浜戝彴鐢垫睜鐗堝紑鍚鍞 鍒涙柊鈥滀笉鎻掔數鈥
2021-03-20 09:54
- 澶栧獟鎶ラ亾锛歀G姝g爺鍙戞柊娆剧炕鐩栧紡鍙姌鍙犳墜鏈
2018-07-06 05:31
- 鎵庡厠浼牸澶绾︿細缁欏瀛愯█浼犺韩鏁 鎵庡厠浼牸瀹堕娆℃洕鍏
2019-12-05 18:53
- 5799鍏冭捣 涓夋槦GalaxyS9/S9锛嬪媰鑹绾㈢増鍙戝竷 涓夊ぇ濂崇浠h█
2018-05-08 17:32
- 鍗板害閫爄Phone缁堜簬涓婂競 浣嗘灉绮変緷鏃у緢澶辨湜
2018-09-22 00:32
- 鏇寸敓琛岃柂閰珽TC锛氭櫤鑳借柂閰競鍦虹殑棰嗚窇鑰
2019-08-20 11:55
- 榄斿吔浜夐湼锛氬畧鍩庡叧鍗$殑璁惧畾鍗佸垎缁忓吀 閭d箞鎴樺焦涓渶缁忓吀鐨勬槸鍝叧锛焈甯屽皵鐡﹀鏂
2019-06-30 14:46
- 鑴戞礊椋樺嚭澶╅檯鐨勭鐮旈槦浼嶅紑鍙戝嚭3D鎵撳嵃姘磋川妫娴嬪櫒
2018-08-05 18:31