🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #255

Re: optymalizacja

#255
From: tosamo
Date: Thu, 18 May 2006 22:41
49 lines
2697 bytes
Użytkownik "Bogdan (bogdro)" <bogdan@bogdan.pl> napisał w wiadomo?ci
news:e4hbi4$fpm$1@atlantis.news.tpi.pl...
> tosamo napisał(a):
>> Użytkownik "Bogdan (bogdro)" <bogdan@bogdan.pl> napisał w wiadomo?ci
>> news:e4ffrk$he5$1@nemesis.news.tpi.pl...
>>> tosamo napisał(a):
>>>> Witam
>>>>
>>>> Pisze sobie porgramik w masm32 (wersja 6.11 chyba). Do tej pory pisalem
>>>> glownie w c i pascalu wiec na poczatku
>>>> program w asm wygladal jak dokladna kalka z jezykow wyzszego rzedu i
>
> - zamiast kilku PUSHów na rejestrach, daj "sub esp, xxx" i sekwencję
> "mov [esp+xxx], yyy". Je?li możliwe, przekazuj parametry (o ile s?
> potrzebne) w rejestrach. Dla twardzieli: nie używaj EBP w funkcjach i
> operuj na ESP.
> {..}

No dobra. Wiekszosc z rozwiazan o ktorych piszesz probowalem stosowac.
Niektore rzeczywiscie mocno przyspieszyly prorgam (np rezygnacja z push i 
pop).

Jedna rzecz mnie totalnie zalamala :

  mov eax,offset Intermediate_Hash
  mov DWORD PTR [eax+20],067452301h

Zmienna zadeklarowana jest tak

align 16
Intermediate_Hash DD 5 DUP(0)

To fragment procedurki ktory powinein wystarczyc do przedstawienai problemu

To sie wykonuje 40us (dla porownania caly hash z wyjatkiem tego kawalka
liczy sie tylko 12us !!)

Disassemblowalem procedure ktora robi to samo z c. Jest praktycznie 
identyczna do tego
co sam napisalem i wykonuje sie w czasie ponizej 1us.

Robilem wszystko co sie dalo (lacznie z mov ecx,067452301h i mov mov DWORD
PTR [eax+20],ecx) i nic. Probowalem zamiast eax korzystac z innych rejestrow 
(chociaz to w c
korzysta z eax i jest ok).

Wiesz co z tym zrobic ? W zasadzie do pelni szczescia brakuje mi juz tylko 
tego fragmentu.
Technical Details
Message-ID: <e4it6m$c00$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <e4f5nl$rj4$1@inews.gazeta.pl> <e4ffrk$he5$1@nemesis.news.tpi.pl> <e4fi7h$q1b$1@inews.gazeta.pl> <e4hbi4$fpm$1@atlantis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "tosamo" <tosamo@o2.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: optymalizacja
Date: Fri, 19 May 2006 00:41:23 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 51
Message-ID: <e4it6m$c00$1@inews.gazeta.pl>
References: <e4f5nl$rj4$1@inews.gazeta.pl> <e4ffrk$he5$1@nemesis.news.tpi.pl> <e4fi7h$q1b$1@inews.gazeta.pl> <e4hbi4$fpm$1@atlantis.news.tpi.pl>
NNTP-Posting-Host: aakz207.neoplus.adsl.tpnet.pl
X-Trace: inews.gazeta.pl 1147992086 12288 83.5.29.207 (18 May 2006 22:41:26 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Thu, 18 May 2006 22:41:26 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.1830
X-Priority: 3
X-RFC2646: Format=Flowed; Original
X-Newsreader: Microsoft Outlook Express 6.00.3790.1830
X-User: etet100
X-MSMail-Priority: Normal
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit