Dear All,

This is not at first sight anything to do with lprng but I hope it may
generate an answer that will help the developers.

I am writing a little program that needs to scan a spool queue for
particular values. Pretty easy really. I've used fopen/fgets/fclose,
open/read/close, open/mmap/close and so on. The thing is I can't make it
go very fast. No surprise there really. With 3900 jobs in the queue I
can get it down to somewhere between 0.6s and 30s. The wide variation is
due to the kernel caching directory information I think.

Now my programming problems are hardly of much interest to readers here
but I guess the developers of lprng have similar problems. They need to
be able to scan the queues and the faster the better. The thing is if
I run grep (the GNU version) it never takes much more than a second to
scan the same queue. Now I know that grep uses very clever and complicated
searching mechanisms. That is not the problem. I am only scanning through all
the files - I don't do any string comparisons with my little test program.
How does grep manage to scan a large queue in times that vary from 0.5s
to 1.1s. If anyone knows I would be most grateful and I guess Patrick
would be too. I have looked at the sources for grep and it appears to
use a combination of open/read/close and open/mmap/close. However, what
it seems able to do is avoid the caching problem that I am experiencing
and I notice lpd also experiences.

Best wishes....
Colin

-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address

If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------

Reply via email to