推 yeeouo : 解壓縮是單線程吧 09/25 11:35
→ yeeouo : 包括7zip軟體都是單線程解壓縮 09/25 11:36
推 a12550550 : WinRar有支援多核心吧? 09/25 11:49
→ JoyRex : 解壓縮不吃多核心啊 09/25 11:53
雖然印象中7-zip(LZMA2)的多核心支援度比RAR好很多
但我記得解壓縮也是有支援多核的
剛才為了驗證推文「解壓縮只用到單執行緒」的說法
似乎與實際經驗不符
馬上切了一個32G的RAMDISK來測試
首先來測大檔
測試檔案為繁體中文的Windows 10 business X64版的ISO
版本號為1903, 1909, 2004(含五月的更新檔)
未壓縮前的總容量為14.1GB
https://i.imgur.com/syDc2cF.png
使用7-zip LZMA2 極緻壓縮
壓縮後的7z檔案容量為13.3GB
https://i.imgur.com/nGuAhkV.png
接著重點:
為了避免SSD效能不足的問題干擾測試變因
把壓縮後的7z檔案放在RAMDISK內
接著就是實際測試解壓縮至當前目錄的動作
實測解壓縮時間約11秒,速度約1.41GB/s
https://i.imgur.com/EiHQq8P.png
自工作管理員可以看到
至少約8個執行緒的瞬間CPU使用率升高
https://i.imgur.com/CKVRKoj.png
只不過因為解壓縮的速度實在太快
所以只能看到短暫的CPU使用率上升就是
接著測試4k小檔案的部份
測試檔案為個人好幾年前整理的如●群○合集
請各位太太不要吐槽我拿這個來測試
剛才把硬碟裡面的檔案完整翻了一遍
手上大量小檔的資料夾就只剩這個
總之這是學術研究!再重複一次這是學術研究!!
壓縮前的資料夾大小為1.09GB
https://i.imgur.com/D3L5Glc.png
壓縮後的7z大小為1.06GB
https://i.imgur.com/XMNzRl5.png
JPG的壓縮率果然都不太好看吶...
實測解壓縮時間約6秒,速度約218MB/s
https://i.imgur.com/E2SkxlW.png
所以結論就是:流言終結
7-zip 支援多執行緒解壓縮
而且至少支援8個執行緒
解壓縮速度
與壓縮檔內的檔案大小有著非常大的關系
大檔可以跑到 1GB/s以上
小檔則約為 200MB/s以上
個人推測這之間的差異
應該是礙於儲存設備的效能問題
意即瓶頸是儲存設備(ex:HDD, SSD, Ramdisk etc...)
小檔解壓縮速度完全不及大檔解壓
速度上限可能是解壓縮目錄的4k效能上限
另外雖然不太確定RAR的實際狀況
但如果RAR的解壓縮也有支援多執行緒的話
那麼RAR解壓縮的瓶頸應該也是在SSD上頭才對
如果有大量檔案解壓縮的需求
高速SSD或是RAMDISK可能是唯二的手段
CPU的效能感覺反而是第二順位
備註:
老實說這個測試實其沒有很精確
前後花了不到20分鐘做測試的閒聊等級
而且礙於主機記憶體的容量不夠大
沒辦法切更大的RAMDISK來測試
所以7-zip是否支援超過8個執行緒解壓縮
則要看板上有沒有32G*4 or *8插好插滿的太太滿測試了
以上
推 mayolane : 7Zip成績幾乎都是Zen2表現比較好 09/25 11:54
→ arrenwu : 從這圖看起來 7z解壓縮吃多核心啊 09/25 12:05
7-zip作者Igor Pavlov有提過
因為LZMA演算法的關系,AMD Ryzen家族的壓縮效率
會比同級的Intel略快一點
解壓縮就沒特別說明過
→ JoyRex : 7-z的壓縮和解壓縮相對rar是比較有用到多核心就是 09/25 12:16
→ JoyRex : 不過RAR有糾錯回復的機制所以比較沒用7-z就是了 09/25 12:17
糾錯回復真的是RAR的強項
→ yeeouo : 7z解壓真的有多核嗎 我之前還查stack系列網站 最佳 09/25 12:37
→ yeeouo : 解答是說解壓縮io比較重要 多核心沒必要所以不支援 09/25 12:37
→ yeeouo : 我用7z解壓也一直都是單核阿 09/25 12:37
→ yeeouo : 不過現在固態硬碟很快 常常單核心100%就是 09/25 12:42
有支援多核喔
至少吃8個執行緒
會有只吃單核的錯覺,通常都是檔案不夠大
或是有防毒軟體介入導致解壓縮程式發呆的關系
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.156.77 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1601019444.A.352.html
推 superRKO : 求分享 09/25 15:44
→ spfy : 我...我也想學術研究 09/25 15:47
推 dickey2 : 有預算就往上拿,升級永遠不吃虧 09/25 15:50
→ P14 : 優質 09/25 15:51
推 st9240208 : CPU的L1 2 3快取是不是也有差 09/25 15:57
推 arrenwu : 現在NVMe SSD價格降下來了 大家用的都是高速SSD了 09/25 16:01
推 Oxyuranus : 求學術研究(歪樓 09/25 16:02
→ homer00 : 推測試 09/25 16:10
推 pmes9866 : 我也要學術研究 09/25 16:15
推 rcahxrta : 推學術研究 09/25 16:17
→ yam276 : 幫你們準備好了 09/25 16:19
→ DaYehNO1 : 之前也會整理合集,現在N/E太方便都沒整理了 09/25 16:22
推 Lumia625 : 如月群真讚 09/25 16:22
推 crow0801 : 推測試 09/25 16:27
推 tony24334 : 研究起來= = 09/25 16:28
推 chondrites : 我也想研究...求合集500p 09/25 16:39
推 fiiox3 : 需要測試data 09/25 16:47
→ F04E : ●月○真合集, 這個肯定是學術研究!! 09/25 16:50
推 jaspergod : 我需要那個壓縮檔案 用於學術研究XD 09/25 16:52
推 sleepgod0602: 純推不下 09/25 17:00
推 kitkat1051 : 學術網路大家一起研究交流是很正常的 09/25 17:01
→ kitkat1051 : 原po考不考慮分享一下 09/25 17:01
→ kisia : 我也想做個學術研究 09/25 17:16
推 e11gary30200: 大家突然都想做學術研究 09/25 17:17
推 shinkiro : 私信檔案?需要研究RAR是否支援多核(大誤) 09/25 17:22
推 louis0724 : 我需要這個檔案來檢查你的實驗結果是不是有錯誤 09/25 17:23
推 ccbbaa : 推一個實驗精神!!! 09/25 17:25
→ ccbbaa : 你的學術研究比我完整Q_Q 強烈需要 09/25 17:26
推 roea68roea68: 大家都需要這個檔案來實驗一下 09/25 17:29
推 lolicat : 我需要那個壓縮檔測試我電腦的解壓速度符不符合 09/25 17:31
推 chh1470 : 我也想做實驗 09/25 17:37
推 Ning01 : 我也需要同樣的測試檔案,看能不能在我的電腦上複 09/25 17:44
→ Ning01 : 製出你的學術研究成果。 09/25 17:44
推 kipi91718 : 學術研究++ 09/25 17:45
推 BGWalker : 學術交流++ 09/25 17:59
推 vincent81614: 我也想做實驗 壓縮檔借測試++ 09/25 18:07
推 XavierLu : 阿年,如月群真是誰? 09/25 18:11
推 arrenwu : 漫畫大師 09/25 18:25
推 froce : 為了科技進步人類發展,請分享你的學術研究 09/25 18:36
推 Kowdan : 我也是很想要學術研究啦 09/25 18:37
推 peten215 : 我需要如XXX綜合集的壓縮檔,為了研究 09/25 18:46
我家用5M/384K的小水管ADSL
上傳到雲端天都黑一半
所以請各位想蕉流蕉流學術研究的太太
自行咕狗 "如_群真合集"
字首有MEGA字樣的剛才測試過確定還活著
自給自足 豐衣足食
噓 ejsizmmy : 嫩,現在都用Ryzen 4900HS 09/25 18:48
推 k211487 : 推推 09/25 20:12
→ max8201 : ...不是看那樣就是支援多核心 09/25 20:32
→ max8201 : 你要把啟動核心關掉從一個開始慢慢增加, 09/25 20:33
→ max8201 : 直到超過他支援的核心,會發現即使增加核心秒數 09/25 20:33
→ max8201 : 也不會再減少,才證明他支援核心的數量 09/25 20:34
→ max8201 : 我記得有一個youtuber測遊戲支援核心就提過這件事 09/25 20:34
你說的沒錯
但我就是懶得花這麼多功夫去測試
所以才說這個測試不是很精確吶
https://i.imgur.com/bmaB9jR.png
推 ultratimes : 我記得是因為解壓縮本來就不是很吃CPU 反而硬碟寫入 09/25 21:05
→ ultratimes : 才是最吃的 壓縮的話吃CPU但是檔案產生速度慢 09/25 21:05
→ ultratimes : 解壓縮不吃CPU 但是檔案增加很快所以吃硬碟寫入 09/25 21:06
沒錯
推 saisai9230 : 我需要那個壓縮檔來做學術研究 能夠送上小禮3000p 09/25 23:48
推 chenboris : 那部的畫風真的好用 09/26 00:37
→ yeeouo : 我用9980XE解28.9GB壓縮檔,壓縮率81%,內含68743 09/26 01:22
→ yeeouo : 個檔案,測兩次,並使用Ramdisk,7z占用穩定維持在 09/26 01:22
→ yeeouo : 6%左右,至於個別核心的使用情況,也是像你那樣零 09/26 01:22
我覺得你要不要用單一的大檔來測測看
68743個檔案有點多...
可能會吃到4K IO效能的部份
另外我測試的7-zip版本是最新的20.02alpha
不知道有沒有差異
→ yeeouo : 散,就像你的測試一樣,沒有充分利用核心,但我不 09/26 01:22
→ yeeouo : 知道為何會同時有多個核心在跑,就我個人猜測,解 09/26 01:22
→ yeeouo : 壓縮的一系列流程,有可能他是解壓縮這件事本身是 09/26 01:22
→ yeeouo : 單核,其他流程多核,當然這只是我的猜測,如果真 09/26 01:22
→ yeeouo : 的要確認是否真的採用多核,看源碼即可,但沒意義 09/26 01:22
→ yeeouo : ,就使用率也可以看出來,並沒有充分發揮多核的效 09/26 01:22
→ yeeouo : 能 09/26 01:22
部份同意你的說法
解壓縮這塊至少就7-zip來看
是沒辦法充份發揮多核的實力
只是老實說無論我怎麼看
都不覺得7-zip解壓「只」用到單核心
至少就CPU使用率來看
我覺得至少在大檔案的部份
可以用到2~4個執行緒是可以肯定的
由於前面提到只用到單核心的結論
與我的經驗完全不同,所以才會有上面那篇不專業測試
另外我用控制台裡的效能監視器來查看使用率
也可以得到解壓縮過程中
7ZFM.exe的CPU平均使用率
https://i.imgur.com/m1MgDKS.png
會約上升至20%~25%左右
→ yeeouo : 不過回到原原PO問題,既然是多個1~2G的壓縮檔,何 09/26 01:33
→ yeeouo : 不同時解壓,就可以吃滿,直上更多核心的cpu即可 09/26 01:33
我一開始也是這樣想的
但後來想到
說不定原PO的資料解壓,是有時序性的
eg:
如衛星遙測是每隔1分鐘,接收資訊的seneor
會輸出約5GB的壓縮檔 etc...
如此就無法達成同時解壓多個程式的目的
所以就沒提這塊了
※ 編輯: yuu123 (1.163.172.30 臺灣), 09/27/2020 22:14:03
→ yeeouo : 壓縮吃滿100%cpu 解壓縮不到4% 180.217.64.230 11/30 03:18
→ yeeouo : 不太可能支援2-4線程的 壓縮能支援 180.217.64.230 11/30 03:18
→ yeeouo : 36線程以上 解壓縮卻限制2-4 180.217.64.230 11/30 03:18
→ yeeouo : 這是不可能的 常理判斷還是把它當 180.217.64.230 11/30 03:18
→ yeeouo : 單核心吧 180.217.64.230 11/30 03:18