На саммите разработчиков GCC был представлен (http://online.wsj.com/public/article/PR-CO-20080630-904673.h...) проект Milepost (http://www.milepost.eu/) (MachIne Learning for Embedded PrOgramS opTimization) , в рамках которого разрабатывается технология оптимизации приложений для портативных устройств, с использованием элементов искусственного интеллекта и самообучения с целью выбора наиболее подходящего метода оптимизации для любой мобильной платформы.
Проблема оптимизации для мобильных платформ состоит в их изменчивости, обусловленной быстрым изменением дизайна аппаратного обеспечения (архитектуры, позволяющие менять конфигурацию), например, приложение вручную оптимизированное для одной системы теряет все свои преимущества на другой платформе или на обновленном варианте текущей.
В качестве демонстрации эффективности Milepost, был проведен эксперимент: после самообучения системы в течение нескольких недель, удалось добиться повышения производительности тестового ком...URL: http://online.wsj.com/public/article/PR-CO-20080630-904673.html
Новость: http://www.opennet.me/opennews/art.shtml?num=16790
Milepost - MachIne Learning for Embedded PrOgramS opTimization,а кто бы мог подумать. :)
Какая вкусная штучка.
Теперь Генту будет компилятся несколько недель. =)
Спасибо за ссылку - весьма интересная статья.
> осле самообучения системы в течение нескольких недельИ нихренасе :))) скоро еще и уговаривать придется :) "скомпиль мне пожалуйста вон ту програмку, да пооптимальнее, я тебе тогда оперативочки куплю" :)))
(в сторону) за несколько недель я пожалуй и сам обучусь и перефигачу проблематичный кусок на оптимизнутом по самые небалуйся асме, всяко сделав компилер в нужном месте :)
>(в сторону) за несколько недель я пожалуй и сам обучусь и перефигачуИ так для каждой модели телефона/КПК ?
>проблематичный кусок на оптимизнутом по самые небалуйся асме, всяко сделав компилер
>в нужном месте :)На асме ??? :-))) RISC это вам не CISC :-)
А в чем проблема с RISC ассемблером?
Я в свое время дофига всего понаписал под SPARC v8 и PA-RISC.
>И так для каждой модели телефона/КПК ?А там 1 хрен везде ARM как правило.Посему критичный код скорее всего хватит переписать один раз на асме и далее нагло реюзать.Такого кода то в нормальных проектах если и должно быть то - с гулькин нос.И за НЕСКОЛЬКО НЕДЕЛЬ вполне реально выучить асм и сносно на нем налабать критичные куски.Если конечно мозг не совсем атрофировался.А аккуратно оптимизнутый ассемблер черта с два какой либо компилер переплюнет на конкретном мелком кусочке кода.Посему там где скорость опупительно важна (например, аудио и видео кодеки) - кусочки на асме норма вещей.Достаточно на xvid, x264 и прочих посмотреть.Кстати тривиальный и доступный любому дятлу "бенчмарк" (компилим чисто сишную версию xvid и asm-optimized верисю, сравниваем скорость работы) очень недвусмысленно показывает НАСКОЛЬКО можно уделать компилер, заменив невнятную туфту нагенеренную компилером на аккуратно вылизанный асм.
>На асме ??? :-))) RISC это вам не CISC :-)
Ну я умею программить на асме под несколько разных RISC-ов, как то Atmel AVR, Infineon 80C166 и ARM.Сложности в чем?У RISC кстати набор команд - скромный, регистровые файлы - большие и потому программить на асме под них *кардинально* *приятнее* чем под х86 уродца (в х64 небольшой шажок в нужную сторону сделали таки).Компилеру кстати тоже проще - когда большая пачка регистров есть, меньше бесполезного push и pop в плане работы со стеком требуется :)
осталось научить вшивать свой код туда и скайнет готов :)
эх, опять какие-то незнакомые мне люди мою идею начали реализовывать... Время - как песок сквозь пальцы.