Spis treści
Android od lat pozostaje najpopularniejszym systemem operacyjnym dla smartfonów na świecie. Choć kolejne wersje przynoszą nowe funkcje i poprawki bezpieczeństwa, to gigant z Mountain View wciąż szuka sposobów na zwiększenie wydajności samego fundamentu oprogramowania. Tym razem inżynierowie firmy skupili się na jednym z najważniejszych elementów systemu, a mianowicie jądrze i wprowadzili rozwiązanie, które ma sprawić, że smartfony będą działały szybciej i sprawniej.
Google optymalizuje serce systemu Android
Najważniejszą częścią systemu jest jego jądro, czyli element odpowiedzialny za komunikację między procesorem, aplikacjami oraz całym urządzeniem. To właśnie ono kontroluje podstawowe operacje wykonywane przez telefon. Według informacji udostępnionych przez Google, jądro systemu może odpowiadać nawet za około 40% czasu pracy procesora w urządzeniu mobilnym. Oznacza to, że nawet stosunkowo niewielkie usprawnienia w tym obszarze mogą przełożyć się na zauważalną poprawę wydajności całego smartfona.
Aby osiągnąć taki efekt, firma wprowadziła do procesu kompilacji jądra technologię Automatic Feedback-Directed Optimization, w skrócie AutoFDO. Rozwiązanie to zmienia sposób, w jaki kod systemu jest optymalizowany podczas kompilacji. Standardowo kompilator analizuje kod w sposób statyczny i stara się przewidzieć, które fragmenty będą wykorzystywane najczęściej. W praktyce oznacza to pewnego rodzaju zgadywanie oparte na ogólnych zasadach optymalizacji.
AutoFDO podchodzi do tego problemu zupełnie inaczej i zamiast polegać wyłącznie na teoretycznych założeniach, to narzędzie wykorzystuje dane pochodzące z rzeczywistego korzystania z urządzenia. Dzięki temu kompilator może dowiedzieć się, które fragmenty kodu są wykonywane najczęściej, a które mają znacznie mniejsze znaczenie dla codziennego działania systemu. W efekcie najważniejsze operacje mogą być zoptymalizowane w taki sposób, aby działały szybciej i efektywniej.
System „uczy się” zachowań użytkowników
Aby zebrać potrzebne informacje, Google przeprowadziło serię testów w kontrolowanym środowisku laboratoryjnym. Wykorzystano w nich smartfony z serii Google Pixel, na których symulowano korzystanie ze stu najpopularniejszych aplikacji dostępnych na Androida. Podczas tych testów specjalne narzędzia profilujące analizowały działanie jądra systemu i rejestrowały, które jego fragmenty są wykorzystywane najczęściej.
Na podstawie zebranych danych tworzony jest tzw. profil działania systemu. Pozwala on kompilatorowi rozróżnić fragmenty kodu często używane i określane jako „gorące”, od tych, które są uruchamiane sporadycznie. Następnie podczas przebudowy jądra systemu kompilator reorganizuje kod w taki sposób, aby najważniejsze funkcje były wykonywane szybciej i bardziej efektywnie. To podejście jest zbliżone do metod optymalizacji stosowanych w innych dużych projektach programistycznych, takich jak systemy operacyjne czy przeglądarki internetowe. W praktyce oznacza ono, że system nie jest optymalizowany „w ciemno”, lecz na podstawie realnych scenariuszy użytkowania.
Niewielkie liczby, ale realny wpływ na wydajność
Według danych przedstawionych przez Google zastosowanie AutoFDO może przynieść średni wzrost wydajności rzędu około 10,5% w testach syntetycznych. Choć na pierwszy rzut oka liczba ta nie wydaje się spektakularna, to w świecie systemów operacyjnych jest to wynik uznawany za znaczący, a szczególnie że dotyczy on tak podstawowego elementu jak jądro systemu.
W praktyce może to oznaczać między innymi szybsze uruchamianie aplikacji, sprawniejsze przełączanie się między programami oraz bardziej responsywny interfejs. Google wskazuje również na możliwość skrócenia tzw. zimnego startu aplikacji o około cztery procent oraz minimalne przyspieszenie samego procesu uruchamiania systemu. Dodatkowym efektem może być także nieco dłuższy czas pracy urządzenia na baterii, ponieważ procesor wykonuje mniej zbędnych operacji.
Optymalizacje trafiają do nowych wersji Androida
Nowe rozwiązanie jest obecnie wdrażane w gałęziach jądra oznaczonych jako android15-6.6 oraz android16-6.12. Oznacza to, że technologia zaczyna pojawiać się w nowszych wydaniach Androida i w kolejnych miesiącach może trafić do coraz większej liczby urządzeń.
Na razie optymalizacja koncentruje się na głównym pliku jądra systemu, jednak Google zapowiada dalsze rozwijanie tej technologii. W przyszłości AutoFDO ma objąć także inne komponenty systemowe oraz elementy związane ze sterownikami sprzętowymi, takimi jak obsługa aparatów fotograficznych czy modemów.
Firma podkreśla jednocześnie, że wszystkie zmiany wprowadzane są ostrożnie. Priorytetem pozostaje stabilność systemu oraz kompatybilność z różnymi urządzeniami. Jeśli testy przebiegną pomyślnie, nowe optymalizacje mogą z czasem stać się standardem w kolejnych wersjach Androida i trafić nie tylko do smartfonów Pixel, ale również do urządzeń innych producentów.
Źródło: Android Authority
Chcesz być na bieżąco? Śledź ROOTBLOG w Google News!