ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
210758 Топик полностью
Evgeny_CD, Архитектор (14.09.2010 22:06, просмотров: 203) ответил koyodza на добавлю
Дополню. В упоминавшемся мною проекте был графический интерфейс от Микриума. uc-GUI, будь он неладен. Вначале он жутко тормозил. Проведя простейший профайлинг, стало понятно, где. Бригада программеров за две недели вдумчивого перелопачивания особенно "талантливого" кода, на чистом С, умеренно используя прагмы и квалификаторы GCC, ускорила гуй раз в 20. Почувствовав вкус успеха, народ решил посоревноваться к компилером и переписать кусочек на асме. За неделю работы они достигли 10% победы над компилером по скорости, и были к концу процесса выжаты как лимон. (тогда была довольно старая версия GCC, типа 2.97. Думаю, современные версии отыграли бы эти 10%...) Далее всем все стало ясно, и убивание башкой ап стену более никто не предпринимал. Фишка вот в чем. Мозги человека имеют ограниченный кеш. Количество объектов, которые могут обрабатываться одновременно, ограничено, хотя объекты могут быть очень сложными. Когда пишешь на асме (лично писал даже для 8048 - это был настоящий мазохизм!) - кеш забит простыми объектами типа асмовых иструкций и макросов. На С у тебя куда более сложные объекты, и ты можешь при помощи того же кеша в единицу времени переваривать гораздо больше информации. На С++ это доведено до совершенства, но там свои сложности, пока не будет это трогать.