Awantura o AnTuTu

30
Mieszko Krzykowski
Awantura o AnTuTu

Od bohatera do zera – tak można pokrótce opisać zmianę wizerunku, którą przeszły smartfonowe Atomy w ciągu ostatniego tygodnia, u wielu bloggerów i newsmanów. Całkiem „przy okazji” inżynierowie Intela zamienili się z geniuszy, z którymi pracownicy ARM i Qualcomma nie mają szans, w oszustów, którzy chwytają się wszystkiego, aby poprawić wizerunek swoich produktów. A wszystko przez wyniki jednego popularnego (i mało reprezentatywnego) benchmarka i grono osób, które lubią wzbudzać sensację. Czy całe to zamieszanie jest słuszne?

Ale o co chodzi?

Możliwe, że część z Was nie wie o co chodzi w tym wstępie, więc na początek garść wyjaśnień. Kilka dni temu świat obiegła wiadomość, że dwurdzeniowe Atomy obecnej generacji i nadchodzące  czterordzeniowe BayTraile, łoją tyłki dowolnego procesora opartego na architekturze ARM. Dowodem na to miały być wyniki bardzo popularnego benchmarka AnTuTu, w którym od jakiegoś czasu każdy sprzęt z logo Intela miał wyraźną przewagę nad konkurencją nie-x86. W pewnym momencie ktoś zauważył, że z tymi wynikami jest coś nie tak i okazało się, że w kodzie AnTuTu jest błąd, który powoduje nieprawidłowe skrócenie niektórych testów, co prowadzi do zawyżania końcowej punktacji. Trzy dni temu firma tworząca AnTuTu przeprosiła za całe zajście i zapowiedziała powstanie nowej wersji programu, w której błąd został naprawiony, przez co procesory Intela przestały w nim aż tak brylować. Jednak niektórzy zaczęli snuć teorie spiskowe i pisać, że zachowanie benchmarka było z góry zaplanowane i Intel „poprosił” programistów o zepsucie kilu rzeczy.

AnTuTu-Benchmark-logo

Więc co się stało?

Wspomniana przed chwilą teoria spiskowa wzięła się stąd, że problemy z AnTuTu rozpoczęły się w momencie, gdy w jednej z wersji tego programu wprowadzono bardzo istotną zmianę, dzięki której nauczył się on wykrywać architekturę procesora urządzenia. Gdy zostaje zauważony układ x86, to jest uruchamiana inna wersja benchmarka, skompilowana kompilatorem Intela z garścią optymalizacji poprawiających wynik. I właśnie wtedy, oprócz wspomnianych optymalizacji, wkradł się błąd-winowajaca. Pikanterii całej sytuacji dodaje to, że kilka lat temu Intel był krytykowany za to, że jego kompilator wykrywa procesory innych producentów i funduje im jazdę pod górkę, która spowalniała ich działanie.

Nieszczęśliwy przypadek, czy współczesny znikający smok?

I chyba właśnie mroczne zaułki kompilatorowej przeszłości Intela i tradycyjna pogoń za sensacją wywołały takie rozdmuchanie sprawy. Osobiście nie jestem zwolennikiem teorii spiskowych i jestem bardziej skłonny uwierzyć w błąd programistów (do popełnienia którego nikt ich nie zachęcał) niż tak oczywisty przypadek oszustwa. Czym innym jest wykrywanie procesora konkurencji we własnym kompilatorze i fundowanie mu niepoprawionego kodu, a czym innym celowe psucie niezależnego benchmarka. Tym bardziej, że z samym kompilatorem wszystko było tu w porządku i nie miał on wpływu na wyniki konkurencji, więc cały problem leżał po stronie AnTuTu. Poza tym mam wrażenie, że świat już trochę wyrósł z nieokiełznanych czasów znikających smoków, no i szczerze powiedziawszy, jeśli Intel naprawdę chciałby zmanipulować wyniki, to zrobiłby to w bardziej inteligentny i mniej widoczny sposób...

dargon_2

AnTuTu – ofiara swojego sukcesu

Najprawdopodobniej nigdy nie dowiemy się jak było naprawdę i kto nawalił, ale cała ta sytuacja lekko mnie bawi. Po pierwsze, śmieszne wydaje mi się to jak dużą wagę przywiązano tu do jednego wyniku z jednego benchmarka. A już myślałem, że czasy pierwszych 3DMarków, których wyniki sprzedawały karty graficzne, są już za nami. Tym bardziej, że AnTuTu, tak jak kiedyś 3DMark, już dawno padł ofiarą swojego sukcesu. Osobiście nie używam tego benchmarka, bo stał się on... zbyt popularny, przez co niektóre firmy (szczególnie związane z produkcją tanich tabletów) specjalnie modyfikują system, aby urządzenie osiągało wyższe wyniki w tym teście. Problem ten jest dobrze znany twórcom tego programu, jak i... przedstawicielom niektórych firm, którzy czasem dzwonią do mnie i proszą o to abym przetestował (albo nie) ich sprzęt w AnTuTu. W moich oczach jego wyniki już dawno przestały być miarodajne, tym bardziej, gdy pochodzą one z nieznanego źródła i dotyczą sprzętu nieznajdującego się w sprzedaży...

Po drugie, bawi mnie widoczne w całej sprawie ziarno hipokryzji. Prawda jest taka, że każdy (tak, każdy) próbuje w jakiś sposób manipulować wynikami benchmarków, albo prosi o zaimplementowanie pewnych optymalizacji w popularnym oprogramowaniu (na przykład Qualcomm pomaga w lepszym wykorzystywaniu jednostek zmiennoprzecinkowych Snapdragonów). Przeważnie mieści się to w granicach prawa (choć niekoniecznie w granicach dobrego smaku), ale benchmarki wyraźnie faworyzujące jakiegoś producenta, to nie jest nic nowego. Chociażby w nowym 3DMarku urządzenia z Tegrą 3 są szybsze od Samsungów z Exynosami (choć powszechnie wiadomo, że jest na odwrót), albo chipy Qualcomma wypadają zaskakująco dobrze w Basemarku Taiji. A jakoś nikt nie snuje na ten temat teorii spiskowych i nie oskarża Nvidii i Qualcomma o oszustwo...

Jaki z tego morał?

Benchmarki są do kitu. Są to jedynie protezy, którymi musimy się posługiwać, dopóki smartfony i tablety nie doczekają się bardziej realistycznych i mniej podatnych na manipulacje sposobów sprawdzania wydajności. Sytuacja z AnTuTu pokazuje, że świat zapomniał lekcje, których uczyliśmy się przez ostatnie kilkanaście lat testowania biurkowych procesorów i kart graficznych (ach ci bloggerzy bez odpowiedniego zaplecza ;)). Ile to razy w mojej (przecież nie tak długiej) karierze byłem proszony o użycie, albo nie użycie jakiegoś benchmarka. Albo ile razy okazywało się, że test przeprowadzony w grze, nie pokrywał się z wynikami pokazywanymi przez testy wbudowane, które prezentowały jakiś scenariusz sprzyjający wybranemu producentowi sprzętu. Czas płynie, zmienia się pole bitwy, ale nie zmieniają się rządzące nim zasady. Po prostu nic nie zastąpi zdrowego rozsądku i myślenia.

Oczywiście z wyników benchmarków da się wyciągnąć sensowne wnioski i mogą one dawać dobre wskazówki na temat tego, który procesor jest lepszy, ale w czasie ich analizy trzeba ruszyć głową i nie wierzyć im bezgranicznie. No i jeden test to stanowczo za mało, aby obwołać jakiś procesor/układ graficzny cudem techniki, więc w całym tym zamieszaniu użytkownicy i redaktorzy niosą taki sam ciężar winy, jak firma odpowiedzialna za AnTuTu i Intel...

Oceny (26)
Średnia ocena
Twoja ocena
focus (2013.07.18, 12:20)
Ocena: 17
Pozostaje mi tylko powiedzieć: a nie mówiłem! Bechmarki to zło, którego należy unikać za wszelką cenę. O wbudowanych testach w WinRAR, 7Zip, czy TrueCrypt nie muszę chyba nikomu przypominać. W każdym teście procesorów pokazujemy jak wiele wspólnego ma wbudowany test w TrueCrypt z realnym operowaniem na szyfrowanym nośniku.
Kiciuk (2013.07.18, 12:21)
Ocena: 7
Ciekawa sprawa z tym kompilatorem.
A źe benchy do dupy to każdy wie kto nie jara się cyferkami.
Stefan999 (2013.07.18, 12:25)
Ocena: 8
W sumie na andku nie ma jak sprawdzić wydajności, bo niemal każdy bench pokazuję inne wyniki.
Kreation (2013.07.18, 12:42)
Ocena: 0
A Ty co drogi autorze robisz kiedy dany producent prosi Cię o przetestowanie (lub nie) danego urządzenia w danym benchmarku, bądź grze?
kult5 (2013.07.18, 12:54)
Ocena: 2
Kreation (2013.07.18, 12:42)
A Ty co drogi autorze robisz kiedy dany producent prosi Cię o przetestowanie (lub nie) danego urządzenia w danym benchmarku, bądź grze?


1) Podaje numer konta, bierze dwa tygodnie wolnego i leci na koniec świata się rozerwać.

2) Odmawia i zarywa kolejną noc testując następne urządzenie.
miekrzy (2013.07.18, 13:08)
Ocena: 5
Kreation (2013.07.18, 12:42)
A Ty co drogi autorze robisz kiedy dany producent prosi Cię o przetestowanie (lub nie) danego urządzenia w danym benchmarku, bądź grze?

Ogólnie zestaw testów jest stały i umieszczam w nim tylko takie rzeczy, które uważam za sensowne (czyli dają w miarę przewidywalne wyniki i wiem co robią).
Czasem jednak firmie bardzo na czymś zależy (na przykład swego czasu Nvidii zależało na PhysX, albo na Unigine Heaven) i można iść na ustępstwo, ale nikt wtedy nie narzuca jakie wnioski się wyciąga z danego testu, więc można po prostu napisać 'hmm ciekawe, ale w sumie nierealistyczne i nie ma pokrycia nigdzie indziej' :P
radek_z (2013.07.18, 13:11)
Ocena: 8
Pamiętacie historię PC Marka który dawał lepsze wyniki procesorom VIA przemianowanym na Intel:

http://itbiznes.pl/art33376.html
edek20 (2013.07.18, 13:21)
Ocena: 7
Najwyższy czas żeby ktoś przejrzał inne benchmarki np. LuxMark, CLBenchmark, RatGPU i inne. Mam pewne podejrzenia
Edytowane przez autora (2013.07.18, 13:24)
Promilus1984 (2013.07.18, 13:34)
Ocena: 2
Parę rzeczy do wyprostowania:
1. icc nigdy nie wykrywał sprzętu konkurencji fundując im jazdę pod górkę. To czego nie robił to nie korzystał ze sprawdzania flag zgodności z rozszerzeniami, a operował na wykrywaniu ich własnych rodzin zgodnych procesorów. Czyli zupełnie nie chodziło o wykrywanie np. AMD, a o NIE wykrywanie Intela P4+ (bo jak dobrze rozumiem kwestia była tego typu, że używano SSE2 dla intela i x87 dla via/amd bez sprawdzenia czy te procki sse2 obsługują).
2. nie ma porównania ze 'znikającym' smokiem. Autorzy antutu przekonują, że wyniki na skompilowanym pod x86 programie są poprawne, kwestia jest taka, że uproszczenia których kompiler dokonał mogą pasować do tego konkretnego mechanizmu zerowania/ustawiania bitów, ale nie wiadomo jak poprawnie by było gdyby rozszerzyć testowane tablice. Czyt. ARM robi np. 3+3*3-3<<2 jako dodawanie, mnożenie, odejmowanie i przesunięcie bitowe, a zoptymalizowany x86 np. 3*(1+1-2) a po wykryciu, że jest zero to brak mnożenia. Wynik ok? Ok. Właśnie o takie rzeczy chodzi!
miekrzy (2013.07.18, 13:49)
Ocena: 3
Promilus1984 (2013.07.18, 13:34)
...

Parę rzeczy do wyprostowania:
1. to jest już dyskusja o definicje, w które nie chcę się wgłębia, bo nie ma to sensu. Kompilator sprawdzał, czy ma do czynienia z procesorem Intela, a jeśli nie miał, to jechał po x87, nawet jeśli procek obsługiwał SSE. Było to zrobione w pełni świadomie i dopiero pod naciskami zostało to zmienione, a Intel obiecał, że nie będzie tego więcej robić. Jak dla mnie to jest fundowanie jazdy pod górkę, ale nie będę się sprzeczał.
2. a w którym miejscu napisałem, że jest to fundowanie znikających smoków? Wpis jest o „celowym psuciu” benchmarka, a nie o samym wykorzystaniu kompilatora. Wszyscy wiedzą, że Intel robi najlepsze kompilatory (nie korzystanie z nich, gdy ma się taką możliwość, powinno być karane ;)) i różne wersje kodu dla różnych procesorów to nie jest nic nowego, więc nigdzie nie poddawałem w wątpliwość uczciwości tego kroku.
Trybcio86 (2013.07.18, 14:00)
Ocena: 0
A dlaczego wogole zostaly zrobione benchmarki?! po to by komus pokazac w 'liczbach' szybkosc lub wydajnosc danego sprzetu bo 'golym okiem' sprawdzenie szybkosci danej rzeczy moze byc subiektywne. Zreszta magia cyferek nie od dzis dziala na psychike czlowieka . Na przykladzie kart graficznych widzimy to doskonale bo nowe architektury procesorow graficznych tworzone sa zwykle co 2 lata ale co roku na bazie tego samego procesora wychodza dwie serie kart (np. Radeon 5850 i rok pozniej 6850) ta 'nowsza wersja' jest zazwyczaj zoptymalizowana i poprawiona kosmetyczne ale cena juz nie, marketing robi swoje i oto w ten sposob jeden produkt sprzedaje sie dwa razy. Czysta psychologia
TępicielFermentu (2013.07.18, 14:12)
Ocena: 7
Benchmarki są w porządku, póki testujemy tylko swój sprzęt czy wydajność jest poprawna albo czy overclocking dał zamierzony rezultat. Natomiast porównywanie różnych archuitektur układów graficznych czy procesorów to wygląda różnie.... Karty graficzne AMD zwykle dobrze wypadają w benchmarkach, a w grach co? Lipton. [moderator: tu było fanbojstwo straszliwe]
Edytowane przez autora (2013.07.18, 14:14)
Edytowane przez moderatora (2013.07.18, 17:05): Fanbojstwo
SNC (2013.07.18, 15:41)
Ocena: -4
Taki 3d mark Firestrike biorac pod uwage wyniki single gpu to calkiem dobrze pokazuje wydajnosc nowych kart.
TępicielFermentu (2013.07.18, 15:49)
Ocena: 3
SNC (2013.07.18, 15:41)
Taki 3d mark Firestrike biorac pod uwage wyniki single gpu to calkiem dobrze pokazuje wydajnosc nowych kart.


No zajebiście :D Szkoda tylko że relacje te w większości gier nieco inne
SNC (2013.07.18, 16:35)
Ocena: 1
TępicielFermentu (2013.07.18, 15:49)
SNC (2013.07.18, 15:41)
Taki 3d mark Firestrike biorac pod uwage wyniki single gpu to calkiem dobrze pokazuje wydajnosc nowych kart.


No zajebiście :D Szkoda tylko że relacje te w większości gier nieco inne

Jak patrze na najwydajszniejsze karty Titan, gtx 780, radeon 7970ghz i gtx680 to mniej wiecej wlasnie takie sa realcje w grach.
Arael (2013.07.18, 17:54)
Ocena: -1
focus (2013.07.18, 12:20)
Pozostaje mi tylko powiedzieć: a nie mówiłem! Bechmarki to zło, którego należy unikać za wszelką cenę. O wbudowanych testach w WinRAR, 7Zip, czy TrueCrypt nie muszę chyba nikomu przypominać. W każdym teście procesorów pokazujemy jak wiele wspólnego ma wbudowany test w TrueCrypt z realnym operowaniem na szyfrowanym nośniku.


...test TrueCrypt robiony jest w RAM - chcecie zbliżonych wyników to szyfrujcie RAM-dyski.
*Konto usunięte* (2013.07.18, 18:12)
Ocena: -3
Stefan999 (2013.07.18, 12:15)
Nowy szef, stare metody.

Zgadzam się. Jak by się to zdarzyło pierwszy raz to w ten tekst bym uwierzył. No chyba że inżynierowie intela to idioci i nie zauważyli oczywistego 'błędu'.
Grave (2013.07.18, 18:34)
Ocena: 0
mlodybe (2013.07.18, 18:12)
Stefan999 (2013.07.18, 12:15)
Nowy szef, stare metody.

Zgadzam się. Jak by się to zdarzyło pierwszy raz to w ten tekst bym uwierzył. No chyba że inżynierowie intela to idioci i nie zauważyli oczywistego 'błędu'.


To nie błąd tylko optymalizacja. Zawsze były optymalizacje zwłaszcza pod benchmarki i nie tylko pod benchmarki, stosują je WSZYSCY bez wyjątku. Ale obrywa się zawsze Intelowi 'bo duży i zły'.

To że pod ARM najwyraźniej są gorsze kompilatory to nie wina Intela. Wykrył kod który dało się ominąć to go ominął i tyle.

A przykładów na optymalizacje jest całe mnóstwo i Intel nie jest tu wyjątkiem....
Na takim wbudowanym teście w Rarze AMD było wstanie wykazać wyższość Phenoma nad Core2Duo mimo, że we wszystkim innym i w realnym teście także Phenom zbierał równo baty. Ale czy wtedy ktoś pisał o oszustwie? Nie... To AMD więc wszystko cacy...

Albo benchmark wbudowany w Tomb Raiderze silnie optymalizowany pod AMD, gdzie GeForce Titan jest tylko minimalnie szybszy od HD7970 mimo, że w rzeczywistości różnica na korzyść karty Nvidii jest o wiele większa.

Jak coś chodzi lepiej na AMD to można przeczytać na forach 'o fajnie że jest optymalizacja pod AMD i sprzęt AMD może pokazać pełnię możliwości'

Ale jak jest optymalizacja pod Intela (de facto wszystko robione kompilatorem Intela) to wtedy nazywa się to 'oszustwem i nieuczciwą konkurencją'.

Teraz 'za AMD' robi ARM (czyli za 'tego małego i słabego' ) a jedzie się oczywiście po Intelu na zasadzie 'siła złego na jednego'.

Edytowane przez autora (2013.07.18, 18:37)
smilehunter (2013.07.18, 19:19)
Ocena: 1
Tak btw. zapraszam do naszego forumowego rankingu tego zacnego bencha :E http://forum.pclab.pl/topic/805396-AnTuTu-...nking-PCLab-V2/
Już wiem, dlaczego Grand X In tak wymiatał :/
anemus (2013.07.18, 19:37)
Ocena: -1
Oj zły intel oszukuje, a nowe Atomy/Celerony/Pentiumy to ścierwo, które do kostek Armom od Apple czy Qualcomma nie dorasta... Tylko czemu inżynierowie z Apple mało się nie zsikali z wrażenia testując referencyjny tablet na czterojajecznym atomie?
cdarek (2013.07.18, 21:03)
Ocena: -1
focus (2013.07.18, 12:20)
Pozostaje mi tylko powiedzieć: a nie mówiłem! Bechmarki to zło, którego należy unikać za wszelką cenę. O wbudowanych testach w WinRAR, 7Zip, czy TrueCrypt nie muszę chyba nikomu przypominać. W każdym teście procesorów pokazujemy jak wiele wspólnego ma wbudowany test w TrueCrypt z realnym operowaniem na szyfrowanym nośniku.


Co niby jest nie tak z tymi testami? Akurat w przypadku TrueCrypta dostaje się dość wartościową informację.
revcorey (2013.07.18, 21:05)
Ocena: 1

Ale jak jest optymalizacja pod Intela (de facto wszystko robione kompilatorem Intela) to wtedy nazywa się to 'oszustwem i nieuczciwą konkurencją'.

Ale jak robimy testy to walnijmy jeden kompilator w tym wypadku GCC i będzie po krzyku. A co sobie ktoś później w normalnym programie użyje to inna sprawa.

Tylko czemu inżynierowie z Apple mało się nie zsikali z wrażenia testując referencyjny tablet na czterojajecznym atomie?

tak z ciekawości mogę prosić o link.
Art385 (2013.07.18, 21:15)
Ocena: -1
Grave (2013.07.18, 18:34)
mlodybe (2013.07.18, 18:12)
(...)

Zgadzam się. Jak by się to zdarzyło pierwszy raz to w ten tekst bym uwierzył. No chyba że inżynierowie intela to idioci i nie zauważyli oczywistego 'błędu'.


To nie błąd tylko optymalizacja. Zawsze były optymalizacje zwłaszcza pod benchmarki i nie tylko pod benchmarki, stosują je WSZYSCY bez wyjątku. Ale obrywa się zawsze Intelowi 'bo duży i zły'.

To że pod ARM najwyraźniej są gorsze kompilatory to nie wina Intela. Wykrył kod który dało się ominąć to go ominął i tyle.

A przykładów na optymalizacje jest całe mnóstwo i Intel nie jest tu wyjątkiem....
Na takim wbudowanym teście w Rarze AMD było wstanie wykazać wyższość Phenoma nad Core2Duo mimo, że we wszystkim innym i w realnym teście także Phenom zbierał równo baty. Ale czy wtedy ktoś pisał o oszustwie? Nie... To AMD więc wszystko cacy...

Albo benchmark wbudowany w Tomb Raiderze silnie optymalizowany pod AMD, gdzie GeForce Titan jest tylko minimalnie szybszy od HD7970 mimo, że w rzeczywistości różnica na korzyść karty Nvidii jest o wiele większa.

Jak coś chodzi lepiej na AMD to można przeczytać na forach 'o fajnie że jest optymalizacja pod AMD i sprzęt AMD może pokazać pełnię możliwości'

Ale jak jest optymalizacja pod Intela (de facto wszystko robione kompilatorem Intela) to wtedy nazywa się to 'oszustwem i nieuczciwą konkurencją'.

Teraz 'za AMD' robi ARM (czyli za 'tego małego i słabego' ) a jedzie się oczywiście po Intelu na zasadzie 'siła złego na jednego'.


Musisz spojrzeć na to z innej strony AMD zawsze krzyczy, że optymalizuje i wtedy doskakuje do konkurenta mniej lub bardziej i są ochy i achy i zadowolenie, że optymalizacja została zrobiona. Intel z drugiej strony on nigdy nie mówi, że optymalizuje a raczej to ukrywa, udaje, że jest tak zajebiście, dlatego ludzie się bulwersują. Bo jakby Intel powiedział optymalizuje to i to pod siebie ludzie by powiedzieli ok ale chce zobaczyć jakby to było jakby AMD też miało optymalizacje pod siebie a potem porównać wyniki a to ostatnia rzecz jaką Intel chce :)
Taka sama sytuacja jak w Sporcie kto ma najlepszy koks i długo się nie da złapać ten długo jest najlepszy lub w czołówce
Edytowane przez autora (2013.07.18, 21:16)
motiff (2013.07.18, 22:10)
Ocena: 0
Sporo szumu wokół nowych Atomów, to może oznaczać, że misja propagandzistów się powiodła. Co do wydajności, gdyby była licha jak w ostatnich latach to Intel z tymi swoimi prospektami zostałby zmieszany z błotem, wiec powinno być dość blisko rzeczywistości.
sideband (2013.07.18, 22:15)
Ocena: 0
SNC (2013.07.18, 16:35)
TępicielFermentu (2013.07.18, 15:49)
(...)


No zajebiście :D Szkoda tylko że relacje te w większości gier nieco inne

Jak patrze na najwydajszniejsze karty Titan, gtx 780, radeon 7970ghz i gtx680 to mniej wiecej wlasnie takie sa realcje w grach.

Nie bardzo , poza tym 3dmarki przynajmniej z mojego pkt widzenia nie miały pokazywać takowych relacji , a nowe technologie/techniki , które będą stosowane w przyszłych grach.
Raphael1 (2013.07.19, 17:32)
Ocena: 4
Jeśli jeszcze ktoś wierzy że Intel nie miał z tym nic wspólnego a Antutu za darmo robił reklamę jednej z najbogatszych firm na tym rynku...
znaczy że przespał ostatnie 25 lat.
Zaloguj się, by móc komentować