NB: Перевод не лучшего качество. Старался как мог, поэтому сильно ногами не пинать. Если что – подсказывайте, буду очень благодарен.
——–
Все права на этот обзор и все изображения принадлежат http://anandtech.com.
Автор обзора: Anand Lal Shimpi
Перевод: Зарубин Евгений
——–
Аппаратные характеристики Palm Pre
Я уже описывал подобные сравнения однажды раньше, но я быстренько пробегусь по ним здесь. Iphone и iPhone 3G, оба используют ARM11 процессор с частотой 412 МГц. Palm использует ARM Cortex A8 процессор с частотой 600Мгц. Cortex A8 значительно быстрее чем ARM11; пока они оба сравнимы, А8 может одновременно обрабатывать две инструкции загрузки/декодирования/запуск приложений — ARM11 может выполнить только одну. Palm имеет бОльшую мощность, что и понятно, Pre разрабатывался намного позже чем оригинальный iPhone (новый 3GS должен соответствовать Pre по мощности).
Глядя на все эти мощности вы должны ожидать, что Pre должна быть намного мощнее чем iPhone, но это не всегда так. Давайте проведём некоторые тесты:
| Время запуска приложения, в секундах |
Web Browser |
Dialer |
Google Maps |
Camera |
Email |
| Apple iPhone 3G (3.0) |
1.1 s |
1.7 s |
3.8 s |
4.6 s |
1.2 s |
| Palm Pre |
3.0 s |
1.5 s |
8.6 s |
4.4 s |
3.3 s |
| T-Mobile G1 |
5.4 s |
2.0 s |
4.4 s |
4.9 s |
2.0 s |
Несмотря на значительное превосходство по мощности Pre перед iPhone, Pre запускает приложения медленнее чем iPhone. Возможно, что всё дело в Flash-памяти Pre, но по сути, Pre должен быть всё равно быстрее чем iPhone. Чем больше я тестировал Pre, тем больше я понимал, как же много времени провели в Apple над оптимизацией кода iPhoneOS.
Palm сделало серьёзную ошибку в том, что пытается копировать успех Apple. В iPhone они добились всего потому что не дают выбора пользователям; приложения и web-страницы закрываются, чтобы освободить память и сохранить максимально быстрый интерфейс. Palm, с его «железным» преимуществом, не может сделать то же самое здесь.
Даже когда iPhone начинает «тормозить», он всё ещё сохраняет «плавность». У Pre анимация не сохраняет ту же плавность. Даже когда Pre делает что-то быстрее iPhone, всё равно он делает это не так «гладко». Это всё сводится к отсутствию оптимизации, Palm может легко починить это всё, но пока это преждевременно. По сравнению с другими смартфонами Palm проделали великолепную работу. По сравнению с Apple? Palm надо совсем немного, чтобы сравниться (10%).
Обработка web-страниц: Преимущество Pre
Где Pre не проигрывает, так это в обработке страниц. Сначала давайте посмотрим на ширину канала:
| |
3G/EVDO |
WiFi |
| Apple iPhone 3G (3.0) |
916 KB/s |
3237 KB/s |
| Palm Pre |
881 KB/s |
3973 KB/s |
Скорости в сетях Sprint и AT&T у меня дома вполне сравнимы. Для теста обработки страниц я посетил несколько страниц (полные версии, не мобильные версии), каждую загружал 3 раза и брал среднее значение, начиная от ввода ссылки и до окончания индикации загрузки:
| |
3G/EVDO |
WiFi |
| Apple iPhone 3G (3.0) |
916 KB/s |
3237 KB/s |
| Palm Pre |
881 KB/s |
3973 KB/s |
At my house Sprint’s EVDO and AT&T’s 3G network speeds were about the same. To test web page rendering performance however I visited several sites (full, not mobile versions), loading each one three times and taking the average time to load from the moment I entered the URL to the instant the progress indicator stopped animating.
| 3G/EVDO |
Apple iPhone 3G (3.0) |
Palm Pre |
| anandtech.com |
20.3 s |
17.2 s |
| arstechnica.com |
23.3 s |
14.0 s |
| hothardware.com |
38.9 s |
20.8 s |
| pcper.com |
43.2 s |
42.8 s |
| digg.com |
44.5 s |
30.3 s |
| techreport.com |
27.2 s |
15.2 s |
| tomshardware.com |
32.3 s |
30.3 s |
| slashdot.org |
33.5 s |
23.8 s |
| facebook.com |
37.1 s |
36.0 s |
| Palm Pre Advantage |
|
30% Faster |
В среднем, в моём тесте 3G vs. EVDO, Palm Pre обрабатывал страницы на 30% быстрее, чем мой iPhone. Т.к. Ширина моего канала примерно одинакова (3G vs. EVDO), то обработка страниц происходит быстрее на Pre за счёт процессора. Было бы хорошо, если iPhone 3GS будет так же быстро обрабатывать страницы.
В этом тесте мы ограничены шириной канала. Я хотел провести тесты для сравнения производительности именно процессоров Cortex A8 и ARM11, это должно иметь бОльшую разницу. Я решил проверить их через WiFi сеть (быстрое интернет-соединение) чтобы увидеть разницу между Pre и iPhone. Давайте посмотим:
| WiFi |
Apple iPhone 3G (3.0) |
Palm Pre |
T-Mobile G1 |
| anandtech.com |
16.3 s |
8.2 s |
17.2 s |
| arstechnica.com |
17.7 s |
7.8 s |
17.8 s |
| hothardware.com |
35.2 s |
11.2 s |
24.4 s |
| pcper.com |
33.3 s |
18.0 s |
34.0 s |
| digg.com |
34.3 s |
22.1 s |
40.0 s |
| techreport.com |
24.1 s |
9.0 s |
20.5 s |
| tomshardware.com |
21.4 s |
13.8 s |
26.0 s |
| slashdot.org |
26.0 s |
20.9 s |
46.0 s |
| facebook.com |
31.7 s |
19.6 s |
37.7 s |
| Palm Pre Advantage vs iPhone 3G |
|
83% Faster |
|
Если убрать некоторые узкие места в сети (горлышки бутылок) у Pre выростают ноги; разрыв составил 83%. Не только от процессора зависит скорость обработки страниц. Для наглядности я включил в тест результаты T-Mobile G1, который использует процессор ARM11 с частотой 528МГц (против 412МГц ARM11 у iPhone). Более мощный процессор ещё не значит, что страницы будут обрабатываться быстрее. Apple просто необходимо использовать Cortex A8 для гарантированной победы 3GS.
Судя по слухам, 3GS будет использоваться «железо» подобное Pre, поэтому можно ожидать существенного прироста производительности в новом 3GS.
Время для многоядерности.
(От переводчика: Я не очень хорошо разбираюсь в «железе», поэтому эта маленькая часть сложна для меня. Я не всегда понимаю, что имеет в виду автор. Поэтому…вот.
Любой, кто имеет iPhone испытывает проблемы с задержками. Будь то переключение между приложениями, нажатие на ссылку или просто разблокирование устройство, в некоторых случаях это занимает больше времени, чем ожидалось. Мы были избалованы наличием многоядерностью где-то начиная с 2005 года, мы не забыли эти уроки, но почему мы до сих пор имеем одноядерные процессоры?
Одноядерные микропроцессоры без SMT могут оперировать только с одним потоком данных за единицу времени. К несчастью, часто нам надо оперировать десятками, если не сотнями потоками. К счастью, наши процессоры могут оперировать миллионами, если не миллиардами циклами в секунду и хороший планировщик задач может обработать много потоков, сотни за секунду.
Если всё работает хорошо, нам не о чём беспокоиться. Каждый поток получается место во времени для обработки и не уходит, пока его не обработают. Как и большинство вещей, не всегда всё работает хорошо. Время от времени планировщик будет выполнять потоки, он будет их контролировать. Он будет держать поток до тех пор, пока он не выполниться. Но бывают исключительные ситуации, когда поток не может завершиться (работа в фоне вместо фоновой задачи). В этой ситуации вы получаете то, что называется «заморозкой» системы.
Iphone ведёт себя очень хорошо в подобных ситуациях. Приложение либо будет долго «отвечать», или же просто умирает и вылетает. Иногда телефон требует перезагрузки для восстановления работоспособности, но в большинстве ситуаций это исключительная ситуация.
Переход на многоядерные процессоры поможет исключить подобные ситуации, давая OS второе ядро для выполнения других потоков. Если одно ядро занято выполнением работы, то второе будет заниматься тем, чтобы сохранить работу устройства гладкой и «откликающейся».
К счастью, ARM имеет решение — Cortex A9. A9 это процессор от ARM, который поддерживает многоядерную конфигурацию. ARM11 также поддерживает многоядерную конфигурацию, но не все производства готовы сделать шаг назад и вернуться с А8 на многоядерный ARM11.

Я ожидаю, что многоядерные процессоры А9 станут доступны в следующие 12 месяцев. Если Apple позаботится об этом, она может добавить программно реальную многозадачность и многоядерность в следующем году.
Часть 12 – Батарея