Skrev lite om filskrivnings och filläsningstester för några år sedan med en rubysnurra med ursprungsfrågan vilket var snabbast - platt filsystem eller hiearkisk filsystem att öppna en fil i (svaret var att den platta filsystemet faktiskt var lite snabbare att söka i för OS).
windows presterar helt enkelt uselt gentemot många andra OS filsystem, är defender igång så är det dessutom dubbla tiden
#19296390
Ganska mastig textblock nu när man såhär läser några år senare och varje försök utfördes med innan testet TRIM/discard-körd och nyformaterad SATA-SSD av samsung-fabrikat.
Men mer kortfattat:
Skrivning 10 miljoner filer av 32 byte storlek (samma hashvärde i HEX som filnamnet för filen):
NTFS med win 10, avstängd defender: 3950,09 sekunder
NTFS med Linux och dess gamla version av NTFS som kördes i userland via FUSE: 3470.90 sekunder
ext4 med linux: 384.94 sekunder
BTRFS med Linux: 377.34 sekunder
Skrivmängden data i uppdatering av $MFT under skrivning av 10 miljoner filer under windows tagen av SMART-värden före och efter på den fysiska disken: nära 100 GByte
Skrivmängden data i uppdatering av $MFT under skrivning av 10 miljoner filer under Linux tagen av SMART-värden före och efter på den fysiska disken: nära 13 GByte
13 GByte är också den slutliga storleken på $MFT för 10 miljoner filer och är en permanent förbrukad plats även när filerna raderas senare då $MFT inte krymper igen när filer raderas, platsen i $MFT återanvänds dock när nya filer skapas, men bara 1 kByte per nyskapad fil. Skall man få tillbaka utrymmet igen för att lagra sammanhängande data så måste filsystem formateras om igen.
För ext4 och BTRFS så ökar/minskar metadatan dynamisk i storlek efter hur mycket filer det fins på disken och det som förbrukas i metadata för 10 miljoner filer blir åter igen skrivbar diskutrymme när det sedan har raderats.
Läsning av filer med direktadresserad sökväg:
NTFS med win 10, avstängd defender: 3377.10 sekunder (med defender så tar det mer än dubbel tid) - en core i CPU mättad för att hantera $MFT men syns inte i CPU-övervakning mer än att en core fattas i kapacitet... CPU-förbrukningen för att hantera $MFT är dold.
NTFS med Linux och dess gamla version av NTFS som kördes i userland via FUSE: 3200.29 sekunder - är också CPU-begränsat då det verkar vara enkeltrådad hantering mot NTFS.
ext4 med linux: 764.13 sekunder, - här var det rubysnurran som var mättat
BTRFS med Linux: 433.85 sekunder. - här var det rubysnurran som var mättat
---
Om man tycker att WIN10 är snabb i filhantering gentemot Win11 så måste man lagt på ytterligare lager av processning mellan klientprogrammets förfrågan av data innan data börja levereras, en sak som potentiellt kan påverka förutom defender är VSS - Volume shadow copy system som är normalt osynligt för användaren och i win11 kanske ytterligare några lager som det skall igenom.
Är medveten att värden ovanför är lite gammalt och inte på win11-plattform och gäller via SATA-SSD och inte NVMe - men något är 'fel' när väldigt mycket CPU-tid används för att hantera $MFT (NTFS viktigaste systemfil, som dessutom självrefererar sig) med nära på faktor 10 ggr långsammare hantering som att skapa en fil och läsa en fil än motsvarande operationer i 2 av linux vanligaste använda filsystem, och att det skriver nära på 10 ggr mer data för metadatat när det administrerar filer än motsvarande för Linux.