From 545bf3a9a8e5b6a5363012938cbd0ff5f10f916f Mon Sep 17 00:00:00 2001 From: jules Date: Tue, 26 Feb 2013 16:14:21 +0000 Subject: [PATCH] Memory-mapped file tuning. --- modules/juce_core/native/juce_posix_SharedCode.h | 5 +++++ modules/juce_core/native/juce_win32_Files.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/juce_core/native/juce_posix_SharedCode.h b/modules/juce_core/native/juce_posix_SharedCode.h index afe2b7c453..d75397c92d 100644 --- a/modules/juce_core/native/juce_posix_SharedCode.h +++ b/modules/juce_core/native/juce_posix_SharedCode.h @@ -567,9 +567,14 @@ void MemoryMappedFile::openInternal (const File& file, AccessMode mode) (off_t) range.getStart()); if (m != MAP_FAILED) + { address = m; + madvise (m, (size_t) range.getLength(), MADV_SEQUENTIAL); + } else + { range = Range(); + } } } diff --git a/modules/juce_core/native/juce_win32_Files.cpp b/modules/juce_core/native/juce_win32_Files.cpp index 996cfe554d..1df1a9862e 100644 --- a/modules/juce_core/native/juce_win32_Files.cpp +++ b/modules/juce_core/native/juce_win32_Files.cpp @@ -334,7 +334,7 @@ void MemoryMappedFile::openInternal (const File& file, AccessMode mode) } HANDLE h = CreateFile (file.getFullPathName().toWideCharPointer(), accessMode, FILE_SHARE_READ, 0, - createType, FILE_ATTRIBUTE_NORMAL, 0); + createType, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, 0); if (h != INVALID_HANDLE_VALUE) {