Ethereal-dev: [Ethereal-dev] Profiling with MSVC?!?

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Tue, 11 Jan 2005 21:01:20 +0100
Hi List!

Today I've tried to profile Ethereal on win32, to possibly improve dissection performance. But I ran into problems and someone with more knowledge than me might be able to help me here.

To do the profiling, I had to add the /PROFILE switch to the link call (which is generating a .map file) and then call PREP / PROFILE / PREP as described in the MSDN info.

First I've simply profiled the ethereal.exe without any other dll. This worked pretty well, I figured out that most of the dissection time is spend in epan_dissect_run, beside the usual WinMain functions and such (well, as already expected).

However, as I was trying to profile the things in libethereal.dll, I got only strange results.

When I tried to put the /PROFILE switch in the static library link calls (link /lib ...), this failed. The only place where I could add it were in the linking of the libethereal.dll. When doing a profile run with this, I got only obviously wrong results, as for example it told me that epan_dissect_run didn't took any time but was called 16243 times in my test run :-(

Then I tried to statically link ethereal.exe without generating the libethereal.dll at all by modifiying my config.nmake (#ENABLE_LIBETHEREAL=USE). Unfortunately there was no change in the behaviour.

Anyone got a clue what I could try else now?

Regards, ULFL