From 6ca7af73cfbd07d803b6102baa63e76eece3c6c4 Mon Sep 17 00:00:00 2001 From: ed Date: Wed, 15 Aug 2018 15:35:55 +0100 Subject: [PATCH] Optimised the base class implementation of InputStream::skipNextBytes() a bit --- modules/juce_core/streams/juce_InputStream.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/juce_core/streams/juce_InputStream.cpp b/modules/juce_core/streams/juce_InputStream.cpp index b63ac6918b..66a5bb5f4c 100644 --- a/modules/juce_core/streams/juce_InputStream.cpp +++ b/modules/juce_core/streams/juce_InputStream.cpp @@ -218,6 +218,10 @@ void InputStream::skipNextBytes (int64 numBytesToSkip) { if (numBytesToSkip > 0) { + // try to just set the position first as this will be much faster than reading each byte + if (setPosition (getPosition() + numBytesToSkip)) + return; + auto skipBufferSize = (int) jmin (numBytesToSkip, (int64) 16384); HeapBlock temp (skipBufferSize);