W czerwcu sieć obiegły informacje o wynikach benchmarków w programie AnTuTu procesora Intel Atom Clover Trail+, którego wydajność porównywano do obecnie topowych układów ARM jak Samsung Exynos 5250, Exynos 5 Octa czy też Qualcomm APQ8064T. Jak się okazało, wydajność procesora Intel Atom miała być znacznie wyższa od prezentowanej przez układy ARM – co miało zwiastować rychły koniec dominacji tej architektury w mobilnym segmencie rynku. Teraz jednak jak dowodzą eksperci, wspomniane wyniki były sfałszowane.
Procesor Intel Atom Clover Trail+, a dokładnie układ Z2580, który znajduje się w konstrukcji Lenovo K900, miał być pogromcą obecnej generacji układów ARM, które nawet miałby nie być w stanie nawiązać z nim równorzędnej walki. W przeprowadzonych benchmarkach przez ABI Research, w których procesory były testowane w programie AnTuTu zdecydowanym zwycięzcą okazał się procesor Intel Atom Z2580. Procesor oprócz znacznie wyższej wydajności oferował także zauważalnie niższy pobór energii elektrycznej.
Jak się jednak ostatnio okazało, wspomniane testy zostały sfałszowane. Początkowo na ślady manipulacji trafił jeden z czytelników serwisu AnandTech, później sprawą zajęli się eksperci. Analityk Jim McGregor z firmy Tirias odkrył, że wyniki benchmarków AnTuTu są niespójne. Pierwszą jego myślą było, że wyniki osiągane przez poszczególne wersje AnTuTu różnią się od siebie. Dla przykładu wydajność Atoma od wersji AnTuTu 2.9.3 do 3.3 zwiększyła się o 122% w ogólnej wydajności i aż 292% w wydajności pamięci RAM. Dla porównania wyniki procesora zastosowanego w Galaxy S4 zwiększały się, ale o zdecydowanie mniejsze wartości.
Jak się jednak okazało, do zabiegu manipulacji wynikami benchmarków zastosowano metodę bardzo starą, tę, za której stosowanie niegdyś firma AMD oskarżyła Intela. Chodzi o zastosowany kompilator. Dla przypomnienia większość aplikacji kompilowanych za pomocą kompilatorów Intela zaniżała wydajność innych niż Intel procesorów. Kompilator w przypadku układów Intela wykorzystywał w aplikacji wszelkie obsługiwane instrukcje, w sytuacjach, gdy wykryto inne układy np. AMD lub VIA, nie była nawet sprawdzana lista obsługiwanych instrukcji, przez co procesory AMD i VIA pracowały bez jakichkolwiek optymalizacji.
O sprawie zrobiło się głośno, gdy ekspertom udało się zmienić wartość CPUID w procesorach VIA, tak, aby ta wskazywała, że zastosowano procesor Intel, Jak się okazało, procesory zwiększyły swoją wydajność o kilkadziesiąt procent w aplikacjach, w których używano kompilatorów Intela.
Podobnie jest również i tym razem, otóż benchmark uruchomiony na układzie Intel Atom został skompilowany za pomocą kompilatora Intel C++ Compiler, natomiast benchmark dla ARM za pomocą GCC. W tym przypadku procesor Intel mógł korzystać ze wszystkich dostępnych instrukcji, a także nawet oszukiwać, natomiast układ ARM nie mógł nawet korzystać z rozszerzenia NEON.
Dodatkowo w przypadku procesora Intel zastosowano jeszcze jeden ciekawy zabieg. Otóż jak informują eksperci, w benchmarku układ, zamiast wykonać określoną ilość pętli, wykonywał tylko jedną i zwracał wykonanie zadania. Niestety eksperci nie pozostawili na wspomnianych wynikach suchej nitki, prezentując wydajność różnych procesorów ARM w konfrontacji ze wspomnianym Atomem w innych testach, gdzie układy ARM okazywały się nawet kilka razy szybsze.
Wniosek z tego jeden, nie należy ślepo ufać benchmarkom, które jak pokazuje powyższy przykład, można bardzo łatwo zmanipulować. Wszystko zaczyna więc wskazywać na to, że dominacja ARM w urządzeniach mobilnych jest w dalszym ciągu niezagrożona.
Źródło: AnandTech, TheRegister, Slashdot, ABI Research, androidzone