Trzy linijki kodu i nawet 5% szybszy SSD. Linux po raz kolejny zaskoczył prostotą

Data dodania: 29-06-2026
To tylko trzy linijki kodu. Efekt zaskoczył nawet twórców Linuksa

W świecie oprogramowania pokutuje przekonanie, że prawdziwy postęp wymaga miesięcy żmudnej pracy i dziesiątek tysięcy nowych linijek kodu. Tym razem było zupełnie inaczej. Jeden z programistów pracujących nad jądrem Linuksa wpadł na to, że drobna korekta w już istniejącym kodzie pozwala wyraźnie przyspieszyć działanie nowoczesnych dysków SSD. Co istotne, poprawka nie dodaje żadnej nowej funkcji do systemu, lecz po prostu wycina zbędną operację, która dotąd wykonywała się miliony razy bez żadnego uzasadnienia.

Mała poprawka, która przyniosła duży efekt

Zmiana trafi do dopiero co powstającego jądra Linux 7.2 za sprawą Fengnana Changa, inżyniera zatrudnionego w ByteDance. Programista zauważył, że w jednym z elementów obsługujących operacje wejścia i wyjścia dochodziło do niepotrzebnego czyszczenia pamięci. Samo w sobie nie było to nic groźnego, ale przy ogromnej liczbie operacji dyskowych zaczęło niepotrzebnie obciążać magistralę pamięci, co zaczynało dawać już wymierny skutek.


Rozwiązanie problemu okazało się zaskakująco eleganckie. Kilka linijek kodu trzeba było po prostu przestawić tak, by operacja odpalała się tylko wtedy, gdy faktycznie zachodziła taka potrzeba, a nie przy każdym przebiegu z góry. Gdy Chang sprawdził efekty na dyskach NVMe korzystających z mechanizmu io_uring, liczba operacji wejścia i wyjścia na sekundę, czyli IOPS, podskoczyła o około 5 procent na systemach plików ext4 i XFS.

Dyski SSD w naszej ofercie:

Dlaczego kilka linijek robi aż taką różnicę?

Na pierwszy rzut oka pięć procent może brzmieć skromnie, jednak w przypadku jądra systemu operacyjnego to naprawdę dobry wynik, zwłaszcza gdy udaje się go osiągnąć bez żadnych nowych algorytmów ani dodatkowych wymagań sprzętowych. Tego rodzaju zysk ot tak po prostu nie spada z nieba i zazwyczaj kosztuje programistów znacznie więcej wysiłku. Tutaj zadziałała właściwie sama matematyka.


Żeby to zrozumieć, warto przez chwilę pomyśleć o skali, na jakiej pracuje jądro. Wspomniana operacja wcześniej zjadała przepustowość pamięci za każdym razem, gdy system wchodził w intensywną pracę z twardym dyskiem, niezależnie od tego, czy miała w danym momencie cokolwiek do roboty. Przy setkach tysięcy albo milionach takich przebiegów w ciągu sekundy drobny, pozornie nieistotny narzut zaczyna się kumulować do rozmiarów, które już widać w benchmarkach. Nie przyspieszyło się tutaj żadnego konkretnego zadania, po prostu przestano płacić mały rachunek, który system wystawiał sobie sam w kółko bez potrzeby.

Kto odczuje korzyści?

Trzeba to powiedzieć wprost: przeciętny użytkownik raczej nie wstanie od komputera PC po aktualizacji do Linuksa 7.2 z wrażeniem, że coś się zmieniło. Czas uruchamiania systemu czy otwierania przeglądarki nie powinien się skrócić w żaden odczuwalny sposób, bo w takich scenariuszach dysk i tak nie jest tym, co decyduje o szybkości. Żeby poczuć różnicę, trzeba pracować w warunkach, gdzie NVMe jest dosłownie zasypywane żądaniami przez cały czas, a io_uring działa na pełnych obrotach.


A to oznacza przede wszystkim serwery, nie desktopy. Bazy danych, które w ciągu sekundy obsługują tysiące zapytań, platformy chmurowe, systemy do przetwarzania dużych zbiorów danych albo profesjonalne stacje montażowe pracujące na surowym materiale wideo to środowiska, w których ta poprawka zacznie realnie działać na korzyść administratorów i operatorów. Kilka procent więcej przepustowości może tam oznaczać konkretne pieniądze, bo albo sprzęt wytrzyma większy ruch bez rozbudowy, albo te same zadania skończą się po prostu szybciej.

Linux wciąż potrafi zaskoczyć

Ta historia pokazuje, że praca nad dojrzałym oprogramowaniem to nie zawsze wyścig po nowe funkcje. Czasem prawdziwą wartość przynosi uważne przyjrzenie się temu, co już od dawna działa, i usunięcie czegoś, co przez lata nikomu nie rzucało się w oczy. W Linuksie takie porządki zdarzają się regularnie, ale rzadko kiedy efekt jest aż tak wyraźny w stosunku do skromnych rozmiarów samej poprawki.


Linux 7.2 przyniesie ze sobą również inne zmiany dotyczące obsługi systemów plików, jednak to właśnie ta niepozorna modyfikacja zdążyła już zebrać bodaj najgłośniejsze komentarze. Dobrze też przypomina o tym, że wydajność oprogramowania nie zawsze jest kwestią wielkich projektów i rewolucyjnych zmian. Niekiedy wystarczy znaleźć jeden zbędny fragment kodu i pozwolić procesorowi pracować odrobinę mniej, żeby cały system ruszył do przodu.

Komputery PC w naszej ofercie:

Wróć

Właściciel serwisu: TERG S.A. Ul. Za Dworcem 1D, 77-400 Złotów; Spółka wpisana do Krajowego Rejestru Sądowego w Sądzie Rejonowym w Poznań-Nowe Miasto i Wilda w Poznaniu, IX Wydział Gospodarczy Krajowego Rejestru Sądowego pod nr KRS 0000427063, Kapitał zakładowy: 41 687 500,00 zł; NIP 767-10-04-218, REGON 570217011; numer rejestrowy BDO: 000135672. Sprzedaż dla firm (B2B): dlabiznesu@me.pl INFOLINIA: 756 756 756