Po ulepszeniach systemu Windows ReFS, Linux uzyskujący F2FS, Btrfs, EXT4 zwiększa wydajność
Microsoft stopniowo rozszerza wsparcie dla ReFS (Resilient File System) w ostatnich kompilacjach Windows 11 Insider. Po raz pierwszy zauważono w styczniu, że ukryta funkcja w kompilacji deweloperskiej 25281 umożliwiłaby użytkownikom zainstalowanie systemu Windows 11 na woluminie ReFS . Od tego czasu firma dodała więcej funkcji opartych na ReFS, takich jak woluminy VHD „Dev Drive” . Firma Microsoft zaktualizowała również podstawową wersję ReFS do wersji 3.10 w jednej z ostatnich kompilacji kanału Canary.
Podczas gdy wykorzystanie ReFS w systemie Windows rośnie, Linux z drugiej strony również czyni pewne postępy w niektórych swoich systemach plików. Z niektórych ostatnich poprawek jądra Linuksa wynika, że niektóre z najpopularniejszych systemów plików Linuksa, Flash-Friendly File System (F2FS), B-Tree Filesystem (Btrfs) i czwarty rozszerzony system plików (EXT4), uzyskują znaczny wzrost wydajności .
Na przykład Btrfs zwiększa wydajność o około 10% na dyskach SSD SATA. Być może poprawa na dyskach NVMe może być nawet wyższa:
Zawsze czytaj w rozmiarze bloku 64KiB Rzeczywisty rozmiar bloku odczytu zaczyna się od 64KiB, a kończy na 512KiB. To już skutkuje lepszą wydajnością nawet w najgorszym przypadku:
- Z zestawem poprawek: 404,81 MiB/s
- Bez zestawu poprawek: 369,30 MiB/s
Około 10% poprawa wydajności na dysku SSD SATA.
Przechodząc do EXT4, wprowadzono szereg optymalizacji:
W tym cyklu w ext4 jest kilka poważnych porządków:
- Ścieżka zapisu data=journal została znacznie oczyszczona i uproszczona, a także zredukowała dużą liczbę specjalnych przypadków data=journal autorstwa Jana Kary.
- Ojaswin Muhoo zastąpił połączoną listę używaną do śledzenia zakresów, które były używane do wstępnej alokacji i-węzłów, drzewem czerwono-czarnym w alokatorze wieloblokowym. Poprawia to wydajność obciążeń, które wykonują dużą liczbę losowych zapisów przydzielających.
- Podziękowania dla Kemeng Shi za wiele porządków i poprawek błędów w alokatorze wielu bloków.
- Matthew Wilcox przekonwertował ścieżki kodu do odczytu i zapisu stron ext4, aby używać folio. * Jason Yan nadal dzieli ext4_fill_super() na mniejsze funkcje, aby ułatwić konserwację i zrozumienie.
- Josh Triplett stworzył nagłówek uapi dla interfejsów API przestrzeni użytkownika ext4.
Wreszcie, oto ulepszenia w F2FS:
Wzmocnienie:
- obsługuje rozmiar strefy bez potęgi dwóch dla strefowego urządzenia
- usuń udostępnianie struktury rb_entry w pamięci podręcznej ekstentów
- refaktor f2fs_gc do wywołania punktu kontrolnego w pilnym stanie – wsparcie iopoll
Ogólnie wygląda na to, że jądro Linuksa w wersji 6.4 będzie całkiem przyzwoite pod względem wydajności.
Dodaj komentarz