Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн авг 21, 2017 12:06 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 22 сообщения ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: madmouse
СообщениеДобавлено: Ср май 30, 2012 11:16 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Код:
mov   ebx,eax можно заменить на push eax
                                pop  ebx
Которые в микрокоде превратятся в
Код:
    sub esp, 4 
    mov [esp], eax
    mov ebx, [esp]
    add esp, 4
И ещё создадут зависимость store/load.
Прежде чем заниматься оптимизациями пользуясь советами 35-летней давности лучше почитать Intel AMD AMD AMD


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср май 30, 2012 3:21 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн апр 16, 2007 6:38 pm
Сообщения: 1222
если используется macros.inc (или как-то так) из директории programs с репозитория, там я какие-то оптимизации видел для всего последующего кода, вроде как. Если я не ошибся, то можно о таких мелочах +- одна инструкция не беспокоиться.

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Вернуться к началу
 Заголовок сообщения: Re: madmouse
СообщениеДобавлено: Чт май 31, 2012 1:52 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн фев 09, 2009 4:13 am
Сообщения: 445
Serge Человек попросил совета по оптимизации, я его дал (все советы, оптимизируют код), а там, пусть сам думает, нужно ему это, или нет. Между прочем, этот push/pop, в macros.inc есть.

_________________
\ Маузер в руке, Путин – на крюке! \ Путину – клизму! Смерть капитализму! \ Путин – параша, победа будет наша!\
\ Застрели буржуя в спину! Он не лучше чем скотина! \
Изображение


Вернуться к началу
 Заголовок сообщения: Re: madmouse
СообщениеДобавлено: Чт май 31, 2012 8:09 am 
Не в сети
Moderator

Зарегистрирован: Чт апр 08, 2010 8:11 pm
Сообщения: 264
Всем спасибо за советы!


Вернуться к началу
 Заголовок сообщения: Re: madmouse
СообщениеДобавлено: Вс июн 03, 2012 5:05 pm 
SVN r.2726 оптимизация некоторых вещей:
1) Перенес программу в отдельную директорию.
2) Использовать ф.5 в главном цикле это как минимум не правильный подход. Потому сделал обработку главного цикла по ф.10, предварительно установив маску событий ф.40. Теперь даже в Qemu в CPU отображена нулевая (000%) загрузка.
3) Использовать 1 Мб памяти для такой программы явное расточительство, теперь она занимает в памяти чуть более 1 Кб. Хотя физически она занимает 4 Кб, потому что страниц памяти меньшего размера в Колибри нет.
4) Синтаксис не стал переписывать на макросы, так как предыдущий автор против. Однако прописал файл макросов в исходник - это позволяет уменьшить размер бинарника автоматически.
5) Убрал дублирующийся код, вызывающий ф.18.9.4


Вернуться к началу
   
 Заголовок сообщения: Re: madmouse
СообщениеДобавлено: Вс июн 03, 2012 5:32 pm 
SVN r.2729 программа добавлена в автосборку.


Вернуться к началу
   
 Заголовок сообщения: Re: madmouse
СообщениеДобавлено: Вс июн 03, 2012 9:52 pm 
Не в сети
Moderator

Зарегистрирован: Чт апр 08, 2010 8:11 pm
Сообщения: 264
Спасибо! За знания.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 22 сообщения ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB