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 e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*