flat assembler
Message board for the users of flat assembler.
Index
> Windows > Performance Profiling Goto page Previous 1, 2 |
Author |
|
pelaillo 29 Jun 2004, 18:04
This is because Maverick wants to discount the size of ret
|
|||
29 Jun 2004, 18:04 |
|
madmatt 30 Jun 2004, 10:08
I use these macros to get a cycle count in edx:eax, simply sandwhich you code between the STARTTIMER, and STOPTIMER macros and printout the result with whatever you use to printout results. And don't forget to run it empty and subtract the result from the main result.
MadMatt macro STARTTIMER { push ecx push ebx rdtsc push edx push eax } macro STOPTIMER ;edx:eax = cpu cycles ellapsed { rdtsc pop ebx pop ecx clc sbb eax,ebx sbb edx,ecx pop ebx pop ecx } |
|||
30 Jun 2004, 10:08 |
|
scientica 30 Jun 2004, 12:07
madmatt, nice work
|
|||
30 Jun 2004, 12:07 |
|
pelaillo 30 Jun 2004, 12:42
Very nice, Thanks
|
|||
30 Jun 2004, 12:42 |
|
S.T.A.S. 22 Aug 2004, 10:22
If you have AMD processor, you could try free AMD CodeAnalist Performance Analyser tool - it allows CPU pipeline analysis and many other things. It requires debug information in PBD file to run, please take look at this thread for information how to build it.
|
|||
22 Aug 2004, 10:22 |
|
Ralph 26 Aug 2004, 06:55
Hey,
Just a few more things I didn't see here: rdtsc is not a serializing instruction (it doesn't sync the instructions currently executing out of order) so you should prefix it with an instruction that does such as cpuid. You can also do a 'warmup' to make sure the cache works in your favour by executing a few cpuid/rdtsc first. Also, time slicing will probably interfere with your code. You can write a quick driver that will cli first to prevent this, or keep your code small, execute it a few times and take the lowest result. |
|||
26 Aug 2004, 06:55 |
|
dap 09 Dec 2007, 22:42
|
|||
09 Dec 2007, 22:42 |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.