David,
Thanks for all your hard work!
There is a small performance penalty, I see 10% in my scans
of big folders. It's due to m_getfld() now having to keep
track of the file stream read position in case the caller
changes it. If necessary, we could replace the uses of
fseek()/ftell() by callers with more efficient bookkeeping.
But at this point, I think correctness is paramount and
performance is acceptable.
Ok, I'm wondering about this ... I see that the big difference at least
from a system call trace is the calls to lseek(), which I guess are
resulting from calls from fseek() or ftell(). So do a lot of nmh programs
use fseek() to change the stream pointer mid-stream? I ask because maybe
programs like scan could tell m_getfld() that they don't need to keep
track of that stuff (or the programs that care about that could tell m_getfld()
that they do care about that).
--Ken
_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
https://lists.nongnu.org/mailman/listinfo/nmh-workers