系統技術非業餘研究 » ETS新的壓縮特性
即將釋出的R14B01要支援ets的壓縮,更大程度的提高記憶體的利用率。
在github上可以看到這個分支,有興趣的同學可以下載下來看看。
壓縮的時候只壓縮value, key是不壓縮的。 value特別簡單型別的eterm也是不壓縮的,因為zip壓縮需要一定長度的內容,而且壓縮本身也要加入一點的overload.
以下是sverker (author)的提交log.
ETS ‘compressed’ option.
The compressed format is using a slighty modified variant of the extern format
(term_to_binary). To not worsen key lookup’s too much, the top tuple itself
and the key element are not compressed. Table objects with only immediate
non-key elements will therefor not gain anything (but actually consume one
extra word for “alloc_size”).
我們來試驗下吧:
# erl +ec Erlang R14B01 (erts-5.8.2) [/source] [64-bit] [smp:48:48] [rq:48] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.8.2 (abort with ^G) 1> ets:all(). [8207,4110,13,file_io_servers,inet_hosts_file_byaddr, inet_hosts_file_byname,inet_hosts_byaddr,inet_hosts_byname, inet_cache,inet_db,global_pid_ids,global_pid_names, global_names_ext,global_names,global_locks,ac_tab] 2> ets:info(8207). [{compressed,true}, {memory,92}, {owner,<0.26.0>}, {heir,none}, {name,shell_records}, {size,0}, {node,[email protected]}, {named_table,false}, {type,ordered_set}, {keypos,1}, {protection,public}] 3> ets:new(xx, [public, compressed]). 16400 4> ets:info(16400). [{compressed,true}, {memory,302}, {owner,<0.32.0>}, {heir,none}, {name,xx}, {size,0}, {node,[email protected]}, {named_table,false}, {type,set}, {keypos,1}, {protection,public}]
祝大家玩的開心。
Post Footer automatically generated by wp-posturl plugin for wordpress.
相關推薦
系統技術非業餘研究 » ETS新的壓縮特性
即將釋出的R14B01要支援ets的壓縮,更大程度的提高記憶體的利用率。 在github上可以看到這個分支,有興趣的同學可以下載下來看看。 壓縮的時候只壓縮value, key是不壓縮的。 value特別簡單型別的eterm也是不壓縮的,因為zip壓縮需要一定長度的內容,而且壓縮本身也要加入一點的
系統技術非業餘研究 » Erlang新新增選項 +zerts_de_busy_limit 控制節點間通訊的資料量
erlang節點間通訊預設是通過tcp通道進行的, 而且每對節點間只有一個tcp連結,所有的rpc和內建的類似monitor這樣的訊息也都是通過這個通道進行的. 當資料量過大的時候, 系統就會發出 busy distribution port警告, 同時限制資料的吞吐. 這個值預設是128k. 現
系統技術非業餘研究 » Flashcache新新增驅逐空閒髒頁引數
我在之前的博文提過Flashcache的cache是以set為單位管理的,每個set預設2M。 當單個set裡面的髒頁數量超過dirty_thresh_pct的時候,就會啟動背景工作佇列來把超過設定的髒頁回寫到後備磁碟去。 這裡有別的同學對flashcache設計文件的翻譯. 參看dirty_th
系統技術非業餘研究 » escript的高階特性
escript Erlang scripting support, 可以讓erl模組轉身變成unix script來使用,大大方便使用者,具體的使用參看otp文件。我這裡要演示的是些比較被忽視的高階特性: 首先crack erts/etc/common/escript.c:33 static i
系統技術非業餘研究 » 新的工作和研究方向
和大家更新下: 做了將近8年資料庫後,我的工作和研究方向將會延伸到虛擬化和計算相關的雲服務,希望能夠和大家一起進步,Happy New Year! 預祝大家玩得開心! Post Footer automatically generated by wp-posturl plugin for w
系統技術非業餘研究 » Erlang R17新特性淺評
Erlang R17RC2 原始碼已經就緒, 參見 這裡 後續版本的釋出時間,官方的時間安排參見 這裡,摘抄如下: Preliminary dates for the upcoming release: Release: erts, emu,comp |Code stop
系統技術非業餘研究 » Linux下新系統呼叫sync_file_range
我們在做資料庫程式或者IO密集型的程式的時候,通常在更新的時候,比如說資料庫程式,希望更新有一定的安全性,我們會在更新操作結束的時候呼叫fsync或者fdatasync來flush資料到持久裝置去。而且通常是以頁面為單位,16K一次或者4K一次。 安全性保證了,但是效能就有很大的損害。而且我們更新
系統技術非業餘研究 » 很容易忽略的ETS表個數限制問題
最近經常碰到ets表使用的數目超過系統的限制導致Erlang應用異常的案例。 比如說神鋒同學報告說在ssh模組裡面,最多隻能開啟500個左右連結,系統空閒的很,但是無法繼續加大連結。 浩庭同學報告說mnesia的事務只能開1千多,多了就上不去了。這些問題看起來沒有關聯。但是其實和ets都有很大的關
系統技術非業餘研究 » Snappy(Google家用的快速壓縮演算法,以前的Zippy)
剛剛雕樑同學告訴我google剛剛開源了他自己家用的快速壓縮演算法,AKA Zippy, 看來下貌似不錯。 Snappy is a compression/decompression library. It does not aim for maximum compression, or co
系統技術非業餘研究 » Erlang R14B 新增加引數 +swt 控制排程器的喚醒閥值
來自github上的otp原始碼提交訊息: Erlang R14B 新增加引數 +swt very_low|low|medium|high|very_high Set scheduler wakeup threshold. Default is medium The threshold dete
系統技術非業餘研究 » 如何找出異常所在的行(新思路)
在Erlang-china的郵件列表上看到這樣的問題: 我的服務經常發生這樣的錯誤,舉例: Error in process <0.33.0> with exit value: {badarg,[{erlang,’++’,[undefined,[{“37”}]]},{groups,do
系統技術非業餘研究 » R14A新增新指令優化Ref訊息的接收
Erlang的慣用法之一就是在訊息匹配的時候,如果需要唯一性,通常會通過make_ref搞個唯一的Ref來作為訊息的一部分來匹配。這個慣用法用在gen_server:call或者demonitor這樣的使用頻度很高的函式裡面。由於erlang的訊息匹配是再訊息佇列裡面挨個遍歷來匹配,特別是訊息佇列
系統技術非業餘研究 » 推介xz高壓縮率演算法
這幾天看到Linux核心2.6.38釋出的release說明裡面提到: The version .38 kernel comes with a library for decompressing XZ, a format developed from LZMA and known for its
系統技術非業餘研究 » 開源壓縮演算法Zopfli介紹
谷歌近日推出了全新開源壓縮演算法Zopfli, 官方主頁在 這裡,相關文件在 這裡 Zopfli is a new deflate compatible compressor that was inspired by compression improvements developed origi
系統技術非業餘研究 » fio效能測試工具新添圖形前端gfio
gfio.c: In function ‘gfio_ui_setup_log’: gfio.c:322: error: ‘GtkTreeSelection’ undeclared (first use in this function) gfio.c:322: error: ‘selection
系統技術非業餘研究
ItPub寫的文章“2017 年度 DB-Engines 資料庫冠軍得主:PostgreSQL 封王!”, 點選 這裡 進一步閱讀 升的最快的幾個資料庫,我簡單的無責任點評: PG資料庫是很老的資料庫,不過這幾年冉冉升起,因為是學院派的,有很好的學術和智力的支援,一直以來在資料庫的體系結構,程式碼
系統技術非業餘研究 » MySQL資料庫架構的演化觀察
MySQL資料庫架構的演化觀察 December 14th, 2017 Categories: 資料庫 Tags: mysql
系統技術非業餘研究 » inet_dist_connect_options
Erlang 17.5版本引入了inet_dist_{listen,connect}_options,對於結點間的互聯socket可以有更精細的控制,RPC的時候效能可以微調: raimo/inet_tcp_dist-priority-option/OTP-12476: Document ke
系統技術非業餘研究 » 推薦工作機會
最後更新時間:2014/11/28 請賜簡歷至:[email protected], 感謝您對加入我們公司有興趣,我們希望能早日和您共事。 以下幾個職位1年內有效,歡迎內部轉崗: 資深資料工程師 公司:阿里(核心系統資料庫組) 工作地點:杭州(西溪園區) 崗位描述: 分析雲服務產生的海
系統技術非業餘研究 » 叢集引入inet_dist_{listen,connect}_options更精細引數微調
Erlang 17.5版本引入了inet_dist_{listen,connect}_options,對於結點間的互聯socket可以有更精細的控制,RPC的時候效能可以微調: raimo/inet_tcp_dist-priority-option/OTP-12476: Document ke