RE: Updated Windows mmap() wrapper
Bob Friesenhahn <[email protected]>
| Newsgroups | gmane.comp.video.graphicsmagick.core |
|---|---|
| Message-ID | <Pine.GSO.4.44.0401191301390.29988-100000@scooby.simplesystems.org> |
On Mon, 19 Jan 2004, Bill Radcliffe wrote: > The critical question on the windows side of the equation is going to be > whether you can get optimal performance. Presumably, you could look at the > source of the MinGW support and see what they do as a reference. MinGW is just a thin wrapper (header files & link libraries) around the standard Windows DLLs. It doesn't provide the answers to any secrets. It is just a Windows development minus an IDE. > You are correct that documentation on this is a bit hard to come be. One of > the problem on windows is that you have a lot of options and a lot of > variation of the operating system in the field. It is certain that the > situation on Win95 is going to be quite different the on Server 2003. How do > intend to deal with sussing out all the real issues? Right. It may be that the reason the Windows API documentation doesn't say how pages are filled is that behavior likely varies across Windows releases. Some old Windows release may fill the pages with the contents of the Word document they were previously used for while NT-5.X based releases may zero-fill, or fill with 0xbf. The Windows APIs have the problem that they support legacy Windows versions, and the legacy is not a good one. Unfortunately, test results obtained from Windows XP don't predict performance under Windows '98. The only old Windows release I have access to is NT-4.0. Under Unix, I find that memory mapped access works well for processing large (multi-gigabyte) files as long as stale pages are "manually" flushed so the system doesn't need to run out of memory before flushing is initiated. It remains to be seen if Window's "manual" page flushing mechanism is useful. Bob > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Bob > Friesenhahn > Sent: Sunday, January 18, 2004 9:24 PM > To: GraphicsMagick Core > Subject: [GM-core] Updated Windows mmap() wrapper > > I have re-written the Windows mmap() wrapper function so that it > supports more features. 64-bit file offsets are now supported, > although GraphicsMagick doesn't make use of this yet. One feature > that I have not tried yet is using it to allocate anonymous memory > from the system paging area (similar to malloc). From the > description, it seems like this should work similar to Unix. The > Windows documentation is very poor so it is not even clear if new > pages are zero-filled. > > Let me know if you observe anything behaving oddly as a result of my > updates. > > As of this evening, the MinGW build works properly again and the test > suite is passing under MinGW. > > Bob > ====================================== > Bob Friesenhahn > [email protected] > http://www.simplesystems.org/users/bfriesen > > > > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Graphicsmagick-core mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/graphicsmagick-core > > > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Graphicsmagick-core mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/graphicsmagick-core > ====================================== Bob Friesenhahn [email protected] http://www.simplesystems.org/users/bfriesen ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn