Feature #579

Implement memory mapping for Windows platforms

Added by Andreas Huggel about 9 years ago. Updated almost 8 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Robin Mills% Done:

100%

Category:miscellaneous
Target version:0.19

Description

On Windows, there should be equivalent functions for mmap() and munmap() which can be used to implement memory mapping also for Windows in Exiv2::FileIo (basicio.cpp).

Additional information:

Memory mapping for UNIX-like systems was introduced with #475


Related issues

Related to Exiv2 - Feature #475: Performance: Don't read TIFF-based files completely Closed
Related to Exiv2 - Bug #634: Locking error on windows when updating a TIFF file with M... Closed 17 May 2009

Associated revisions

Revision 1797
Added by Robin Mills over 8 years ago

#579: Implement Memory Mapping for Windows Platforms

This improves the performance of exiv2.exe on TIFF files about 5x

The MSVC branch adds mmap.cpp and mman.h - borrowed and slightly touched from KDE
- the contribution of KDE is acknowledged and respected (and changes documented)
- exv_msvc.h modified to support MM
- added support files include/sys to enable compilation on MSVC

Revision 1832
Added by Andreas Huggel over 8 years ago

Removed r1799, r1797 from trunk (#634, #579)

Revision 1967
Added by Andreas Huggel almost 8 years ago

#579: Implemented mmap for Windows directly in FileIo and made that class use the Pimpl idiom (#510) to de-clutter the interface. Unrelated: Added EXV_MIN/MAX macros, allow iconv config in commercial version.

History

#1 Updated by Andreas Huggel almost 9 years ago

  • Target version set to 1.0

#2 Updated by Andreas Huggel over 8 years ago

  • Target version changed from 1.0 to 0.19

#3 Updated by Andreas Huggel almost 8 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100

#4 Updated by Andreas Huggel almost 8 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux