Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Assembly Language > Code Profilers ...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 4 Topic 4982 of 5081
Post > Topic >>

Code Profilers suitable for asm applications

by Chewy509@[EMAIL PROTECTED] Apr 28, 2008 at 10:55 PM

Hi Guys,

Long time no see, anyway I'm still around lurking (not posting) and
it's good to see some things have improved around here. (Pity, Annie,
Beth, et al. aren't around anymore).

Anyway I'm still working on my compiler (
http://chewy509.110mb.com/b0.html
), and have had some performance issues on certain OS platforms,
however I haven't been able to track down the offending component
within the compiler to find where the problems lay (or where the
bottlenecks are).

Now the performance problems are more apparent on certain OSs (namely
Windows Vista), eg on Vista, for the compiler to compiler itself takes
around 15secs, on Windows XP x64 it takes 6secs, and on Solaris (SXDE
01/08) it takes a whole 0.5secs. (Linux and FreeBSD ****ts both take
around 2-3secs). Yes, the same code (except linked to the appropriate
OS syscalls) on the same hardware.

What I have been trying to find is a decent profiling tool that can
take a raw EXE (or a *.asm file), profile it, and let me know where
the bottlenecks are so I can either, a, try to clean up the current
algorithm being used, or b, find a better algorithm. eg, the number of
times function x is called, and the duration in which that function
takes.

Since the compiler is written in itself, which in turn produces FASM
compatible assembly file (I use FASM as the backend assembler), all I
have to work with in the *.asm file as source with conventional tools.
The raw *.asm output file for the compiler is roughly 60K lines (or
1.3MB).

If I search for "assembly language profile tool" on the Internet, all
I get are tools for either .NET or Java languages. Nothing that works
for raw exe's.

I have downloaded AMD's Code Analyst, however for raw EXEs, it can
only handle time based sampling (eg record the EIP/RIP register at x
Hz intervals), it can't tell me the number of times a function is
called or how long it's in use (which should be easy to gather based
on the stack frame).

Does anyone else have any suggestions for a good profiling tool? The
only requirements, it must sup****t 64bit x86 Assembly or raw EXEs and
work on either Windows XP x64 or Solaris 10+.

PS. I have looked at using dtrace on Solaris for this, but am still
trying to get my head around how to profile internal functions calls
within your own application, not just those made to the OS. Any
pointers on how to use dtrace for this would be extremely welcome.
(Most how-to's for dtrace assume you're writing in C/C++ and are using
Sun's C compiler for additionally debugging options).

--
Darran (aka Chewy509) brought to you by Google Groups!
 




 4 Posts in Topic:
Code Profilers suitable for asm applications
Chewy509@[EMAIL PROTECTED  2008-04-28 22:55:13 
Re: Code Profilers suitable for asm applications
"Rod Pemberton"  2008-04-29 04:44:17 
Re: Code Profilers suitable for asm applications
Robert Redelmeier <red  2008-04-29 12:42:42 
Re: Code Profilers suitable for asm applications
pg <penang@[EMAIL PROT  2008-05-08 04:42:26 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Thu Jul 24 13:56:28 CDT 2008.