Sylwester Łoś o 64 bitach w iPhone 5s

Sylwester Łoś jest autorem wielu świetnych aplikacji na iPhone/iPada. Od premiery iPhone 5s dyskutowałem z nim wielokrotnie o wydajności nowego iPhone’a i jaki wpływ na to ma 64 bitowy procesor. Dziś rano Sylwester przeprowadził ciekawy eksperyment.

Sylwester Łoś:

Ponieważ ostatnio czytam sporo sprzecznych informacji o tym czy 64 bitowa architektura procesora w iPhone 5s w ogóle coś daje, czy też może jest to chwyt marketingowy, zrobiłem prosty test na iPhonie 5s i 5c.
Zmierzyłem czas wykonania prostej pętli która wykonuje kilkadziesiąt obliczeń mnożenia i dodawania na liczbach 32 bitowych, i 64 bitowych. Kod skompilowałem dla architektury 64 bitowej i wykonałem na iPhonie 5s, następnie skompilowałem na 32 bity i wykonałem go na iPhonie 5s i na 5c. Oto wyniki:

5s, 64bit:
liczba 32bitowa: 1.001080s
liczba 64bitowa: 1.238421s

5s, 32bit:
liczba 32bitowa: 1.252745s
liczba 64bitowa: 2.262512s

5c:
liczba 32bitowa: 1.282063s
liczba 64bitowa: 2.347023s

Wnioski:
– Kod 32 bitowy wykonuje się prawie tak samo szybko na iPhonie 5s i 5c.
– Dla iPhone 5s kod 64 bitowy przyspiesza obliczenia na liczbach 32 bitowych o ok 25%, a na liczbach 64 bitowych prawie o 100%.
– Czasochłonne operacje w iOS są zoptymalizowane pod 64 bity i z innych testów wiem że działają ok 2x szybciej w iPhonie 5s niż 5c.

Uwaga:
Na ogół czasochłonne operacje wywołują funkcje z API, które w przypadku iPhone 5s są zoptymalizowane na 64 bity (niezależnie jak jest skompilowana sama apka), więc w typowych aplikacjach kompilacja na 32/64 bity nie ma znaczenia.

WNIOSEK GŁÓWNY:
– Prawie cały wzrost prędkości nowego procesora w iPhone 5s wynika z tego, że jest on 64 bitowy, a iOS jest bardzo dobrze zoptymalizowany pod te 64 bity!

Trzeba przyznać, że ostateczny wniosek jest zaskakujący.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*