Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Nov 22, 2019 6:23 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 22 posts ]  Go to page Previous 1 2
Author Message
 Post subject: Re: madmouse
PostPosted: Wed May 30, 2012 11:16 am 
Offline
Kernel Developer

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


Top
   
 Post subject:
PostPosted: Wed May 30, 2012 3:21 pm 
Offline
User avatar

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

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


Top
   
 Post subject: Re: madmouse
PostPosted: Thu May 31, 2012 1:52 am 
Offline
User avatar

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

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


Top
   
 Post subject: Re: madmouse
PostPosted: Thu May 31, 2012 8:09 am 
Offline
Moderator

Joined: Thu Apr 08, 2010 8:11 pm
Posts: 269
Всем спасибо за советы!


Top
   
 Post subject: Re: madmouse
PostPosted: Sun Jun 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


Top
   
 Post subject: Re: madmouse
PostPosted: Sun Jun 03, 2012 5:32 pm 
SVN r.2729 программа добавлена в автосборку.


Top
   
 Post subject: Re: madmouse
PostPosted: Sun Jun 03, 2012 9:52 pm 
Offline
Moderator

Joined: Thu Apr 08, 2010 8:11 pm
Posts: 269
Спасибо! За знания.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 22 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited