1.7.0 CVS mmap failure

Christopher Layne clayne@anodized.com
Fri Jan 19 15:41:00 GMT 2007


On Thu, Jan 18, 2007 at 06:18:52PM +0100, Corinna Vinschen wrote:
> > Right, it's an optimization problem rather than a bug.  Patches
> > welcome, but I've put it on my TODO list, too.
> 
> I have applied a patch to CVS which calls fstat early, at the spot where
> GetFileSize got called so far.  The stat structure is then propagated to
> subsequent function calls and used there.  This should reduce the fstat
> calls to exactly one per file based mmap call.  All my testcases still
> work fine, but we already saw that my testcases don't cover all weird
> cases in the world.  So, please give this change a serious test.

Thanks for fixing this. I also noticed these when reading through the code.
Another area for extremely small optimization is to just cache the pagesize.
I notice a *lot* of calls to getpagesize(), when I can't really see the
pagesize changing within a single call to mmap(). Since the map implementations
appear to use a data object for tracking/management, it should be pretty
easy to add a psz size_t/DWORD/whatever to it.

-cl

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list