[an error occurred while processing this directive]
Node:IO bound programs,
Next:No profile,
Previous:Garbled profile,
Up:Profiling
__dpmi_int
so heavily used?Q: I've profiled my program and found that the routine which takes
60% of the running time is some obscure library function called
__dpmi_int
. Can't you guys get your library right?
Q: What is the __dj_movedata
function for, and why does it
take such a large proportion of my program's running time?
A: Does your program use I/O or other real-mode services (like BIOS)
extensively? All those services are invoked through a DPMI function call
which is issued by __dpmi_int
. The sibling function
__dj_movedata
moves data between the transfer buffer
(see what is the transfer buffer) and your program, e.g., when it reads or writes disk files.
So what the profile really says is that the running time of your program
is governed by time-consuming operations such as disk I/O.