LINUX.ORG.RU
ФорумTalks

Тумбочка на арме

 ,


0

1

В современных армах есть набор инструкций thumb2 / thumbee, который якобы уменьшает размер бинарников на 30%, а вот насчет производительности википедия говорит что она должна как бы быть такой же, как и с нативным арм кодом.

Что-то я ничего не нашел в интернете на эту тему, может кто нибудь проверял производительность бинарников собранных с -mthumb и без него? Ну или хотя бы где можно почитать об этом?

З.Ы. Я пока попробовать не могу, мой нетбук ушел в астрал из за линковки файерфокса еще часа на четыре)


Производительность выше даже должны даже стать. Ну сам подумай, thumb2 инструкции имеют размер в 16 бит, за шина у нас 32 бит, то есть можно грузить по две инструкции за раз.

Artificial_Thought ★★★★
()
Ответ на: комментарий от Artificial_Thought

Ну, раз если так, то значит thumb2 сам по себе медленный?

вот, к примеру, в этих слайдах говорится о ~98% производительности thumb2 от нативного когда, но они старые..

Да и еще, наверное имеет значение как гцц оптимизирует в арм и thumb код..

Ради интереса пока пособирал на десктопе кросс компилятором bzip2, openssl и xz-utils. С включенным -mthumb бинарники стали меньше на:

xz 13.8 %
bzip2 11.8 %
openssl 21.5%

в принципе, если производительность будет на уровне 95%, то хотя бы будет меньше заполнятся кеш из за уменьшенного размера файлов..

Lindows
() автор топика
Ответ на: комментарий от Artificial_Thought

Ну, если есть возможность выполнять две инструкции за раз, но при этом итоговый результат получается медленнее, то значит что сам thumb медленнее арм кода(не учитывая разрядность), не?)

Возможно я сказал полную фигню тут -_-

Lindows
() автор топика
Ответ на: комментарий от Lindows

собрал bzip2 и tar с -mthumb и c -mno-thumb, собственно, ничего интересного пока не получилось

Распаковка сырцов файрфокса. Перед каждым разом форматировалась фс и сбрасывались кеши.

-mno-thumb
1strun:
real	2m21.148s
user	1m34.240s
sys	0m15.600s
2strun:
real	2m15.627s
user	1m34.580s
sys	0m15.680s
3strun:
real	2m33.189s
user	1m33.720s
sys	0m15.550s

-mthumb
1strun:
real	2m29.108s
user	1m35.170s
sys	0m15.650s
2strun:
real	2m24.725s
user	1m35.420s
sys	0m15.510s
1strun:
real	2m16.874s
user	1m35.270s
sys	0m15.290s

Попробую теперь с ffmpeg что нибудь сделать...

Lindows
() автор топика

Thumb делали для экономии памяти во встраиваемых системах. Про производительность речь не шла.

Quasar ★★★★★
()

повышает плотность кода, производительность не страдает но надо понимать что в тумб режиме есть ограничения.

exception13 ★★★★★
()
3 августа 2012 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.