Article View: pl.comp.lang.asm
Article #259Re: optymalizacja
From: tosamo
Date: Fri, 19 May 2006 13:28
Date: Fri, 19 May 2006 13:28
60 lines
3227 bytes
3227 bytes
Użytkownik "Bogdan (bogdro)" <bogdan@bogdan.pl> napisał w wiadomości news:e4k9m6$ogh$1@atlantis.news.tpi.pl... >> >> Wersje c i delphi oczywiscie nie maja tego problemu bo przy ladowaniu dll >> cos tam na pewno >> mieszaja juz z danymi. >> >> Problem rozwiazalo zapisanie czegos w LibMain (DllMain) do pamieci. >> >> Wiesz moze czemu tak jest ? Musze w dokumentacji projektu opisac ten >> projekt >> a nie za bardzo >> wiem gdzie tego szukac. > > Prawdopodobnie (bo nie znam Win) jest dokładnie tak, jak mówi Lopez. > Nie wszystkie części kodu/danych są od razu ładowane do pamięci przez > system. Jak po raz pierwszy odwołujesz się do niezaładowanej sekcji, > występuje wyjątek Page Fault, bo tej strony nie ma w pamięci. System > obsługuje ten wyjątek i ładuje odpowiednie sekcje (strony pamięci) z > dysku do RAM. Zarówno obsługa wyjątków, jak i operacje na dysku trwają > długo. Rozwiązaniem tego problemu jest właśnie dowolny dostęp do > niezaładowanej sekcji. OK. Dzieki. > Nawiasem mówiąc, proponuję kod: > > mov DWORD PTR [Intermediate_Hash+20],067452301h Ale takie cos : mov DWORD PTR [Intermediate_Hash],067452301h mov DWORD PTR [Intermediate_Hash+4],0EFCDAB89h mov DWORD PTR [Intermediate_Hash+8],098BADCFEh mov DWORD PTR [Intermediate_Hash+12],010325476h mov DWORD PTR [Intermediate_Hash+16],0C3D2E1F0h bedzie lepsze niz mov eax,offset Intermediate_Hash mov DWORD PTR [eax],067452301h mov DWORD PTR [eax+4],0EFCDAB89h mov DWORD PTR [eax+8],098BADCFEh mov DWORD PTR [eax+12],010325476h mov DWORD PTR [eax+16],0C3D2E1F0h ? Wersja z rejestrem nie jest szybsza ? > Długaśna z tego instrukcja wyjdzie, ale lepsza niż dwie. Wiesz, że ta > instrukcja zapisuje dane poza tablicą Intermediate_Hash (która ma 20 > bajtów)? Nie wiem skad tam sie wzielo te 20. W programie tego nie ma. > Swoją drogą, można byłoby zrobić pożytek z pamięci podręcznej > procesora: użycie instrukcji PREFETCH* mówi procesorowi, Nie wiem w ktorym dokladnie procesorze sie to pojawilo ale watpie zeby na tej uczelni mieli takie nowoczesne komputery ;)
Technical Details
Message-ID:
<e4kh6c$fp$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<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> <e4it6m$c00$1@inews.gazeta.pl> <e4j148$kn7$1@inews.gazeta.pl> <e4k9m6$ogh$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 15:28:40 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 62 Message-ID: <e4kh6c$fp$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> <e4it6m$c00$1@inews.gazeta.pl> <e4j148$kn7$1@inews.gazeta.pl> <e4k9m6$ogh$1@atlantis.news.tpi.pl> NNTP-Posting-Host: aakz207.neoplus.adsl.tpnet.pl X-Trace: inews.gazeta.pl 1148045324 505 83.5.29.207 (19 May 2006 13:28:44 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Fri, 19 May 2006 13:28:44 +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