#709: Кто кого обманет

« картинки и свежие анекдоты | чат

#709: Кто кого обманет

Задача: протестировать оптимизирующий компилятор С++ (gcc, естественно) для встраиваемого PowerPC-процессора.

Тестовый стенд: отладочная плата, на ней проц, основной способ взаимодействия с которым - интерфейс RS-232. Чтобы не заморачиваться с передачей данных по COM-порту, я решил смухлевать — сделал все тестовые данные константными.

Скомпилировал программу с несколькими уровнями оптимизации, открыл ассемблерный исходник в отладчике и стал сравнивать результаты оптимизации. Вот что получилось.

Уровень оптимизации 0. Код толстый и красивый, все вычисления выполняются самым прямолинейным, тупым и очевидным способом. Предсказуемо...

Уровень оптимизации 1. Код стал компактнее, откровенно тупые действия вырезаны, но некоторая рыхлость всё ещё есть. Не впечатляет.

Уровень оптимизации 2. Объекты пропали. Память больше не задействована, вместо нее работают 32 регистра процессора. Так держать!

Уровень оптимизации 3. Загрузка вычисленного значения в регистр как константы. Всё. Объём кода - 8 байт, или две инструкции (две, потому что загрузка константы на этой архитектуре идёт по полуслову).

Домухлевался. Один-ноль в пользу компилятора!

Комментарий:

Ваше имя:

Ещё интересное на этом сайте:

#708: Большому кораблю — большие бэкапы
Анекдоты и картинки #34419
Анекдоты и картинки #34418
Анекдоты и картинки #34417
Анекдоты и картинки #34416
Анекдот дня по итогам голосования за 27 марта 2009.
История дня по итогам голосования за 27 марта 2009.
Афоризм дня по итогам голосования за 27 марта 2009.
Фуфайка
Анекдоты и картинки #34411
Анекдоты и картинки #34410
Анекдоты и картинки #34409
А воздуха хватит?
фильм-комедия "группа Захвата" - любительский, но офигенный!
Анекдоты и картинки #34406
Анекдоты и картинки #34405
кошки и невидимые предметы [осторожно, бояны]
Анекдоты и картинки #34403
2 Гига Любви - Винамп в Ночи
Я вот чё подумал (по поводу кризиса)
« все анекдоты и картинки
Рейтинг@Mail.ru