本帖最後由 pbodq 於 2025-4-30 11:06 編輯
Pre-allocation 要先寫入一次 ,即係要寫兩次
而且一般使用者 sense 唔到呢個問題
會四圍問人地點解 HDD ...
doggiestyle 發表於 2025-4-30 01:52 AM 
Pre-allocation 要先寫入一次 ,即係要寫兩次 >>> 這個描述不完全成立,在某些情況下,Pre-allocation係唔需要寫兩次(可以避開了頭一次的zero-filling),所以在官方的說明書中,只對該選項用上不確定語氣的用詞 "but could be a costly operation."
https://www.libtorrent.org/singl ... disk-io-constructor
導致這模菱兩可現象的原因是:
https://github.com/qbittorrent/q ... ecomment-1414253937
簡單講,垃圾Microsoft陳舊NTFS提的的file output stream API,不支援file fast allocation。當硬碟建立一個完整10GB file時,會很笨由頭到尾initialize,先全寫一次zeroes
但在Linux世界不是。libtorrent (例如rutorrent, qbittorent等等),係call kernel posix 的 fallocate(1)。
當快速式建立一個全新的大file時,係好聰明地不會zero-fill,就想像成quick format之類。對應的format有btrfs, zfs, xfs這類新一代的規格。如無記錯,ext4都支援fallocate(1), file non-zero filling。
基本這10年,我都很少在Windows下使用BT。無論點config,在Linux下BT,我完全體會唔到(忘記了)這種痛苦,所以很多時都不明白為何d人成日話這樣有問題,那樣有問題。。。。。 因為起步點已經不同,平行世界。 |