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