Размеры бинарников под разные ISA
Nov. 24th, 2016 09:30 pmУдобно, когда пачка кросс-компиляторов доступна из коробки без мучений.
Сборка, потом --strip-all. Везде gcc5 (Ubuntu 16.04) (Risc-V - gcc6), -O.
x86 таки почти всех победил (по размеру, а вы о чём подумали?)
Результат MIPS удивляет.
$ ls -ld qmodo*_s
-rwxrwxr-x 1 netch netch 344456 лис 24 21:19 qmodo_aa64_s
-rwxrwxr-x 1 netch netch 340376 лис 24 21:10 qmodo_amd64_s
-rwxrwxr-x 1 netch netch 531552 лис 24 21:25 qmodo_mips64_s
-rwxrwxr-x 1 netch netch 466088 лис 24 21:17 qmodo_ppc64_s
-rwxrwxr-x 1 netch netch 355752 лис 26 14:43 qmodo_rv_s
-rwxrwxr-x 1 netch netch 408640 лис 24 21:11 qmodo_s390x_s
-rwxrwxr-x 1 netch netch 336776 лис 24 21:35 qmodo_sparc64_s
Сборка, потом --strip-all. Везде gcc5 (Ubuntu 16.04) (Risc-V - gcc6), -O.
x86 таки почти всех победил (по размеру, а вы о чём подумали?)
Результат MIPS удивляет.
no subject
Date: 2016-11-25 10:21 am (UTC)no subject
Date: 2016-11-25 12:36 pm (UTC)Sparc - RISC. У него результаты лучше, чем у x86.
Aarch64 - тоже RISC (хоть и менее RISCʼовый, "смягчённый" во многом), результаты - на 1% хуже x86.
PPC - RISC - у него на 20% хуже x86, но на более чем 20 лучше, чем у MIPS.
Так что сама по себе RISCʼовость явно недостаточна.
"Многих команд нет" - это каких? У меня там код - просто прокси специализированного сетевого протокола, там нет ничего специфического, типа длинной арифметики, CLZ или тому подобного.
> а для MIPS-32 она же 25000 байт (sic!) из-за auto-inline, похоже. gcc-6.2 для MIPS-32 дал на том же коде 628 байта
Агрессивный inline явно не о том, а вот 628 против 330 - да, показательно.
> Полный размер .so для MIPS, тем не менее, на 80% больше в сравнении с amd64.
Угу, сходно с результатом 628/330.
no subject
Date: 2016-11-28 10:16 pm (UTC)no subject
Date: 2016-11-29 06:47 am (UTC)