Skip to content

Commit eea7e43

Browse files
committed
Prefetch speedup.
1 parent 6273a0f commit eea7e43

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

yas3fs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1731,7 +1731,11 @@ class YAS3FS(LoggingMixIn, Operations):
17311731
prefetch_start = end_interval + 1
17321732
prefetch_length = self.buffer_size * self.buffer_prefetch
17331733
logger.debug("download prefetch '%s' '%i' '%i'" % (path, prefetch_start, prefetch_length))
1734-
self.enqueue_download_data(path, prefetch_start, prefetch_length, prefetch=True)
1734+
prefetch_end_interval = min(prefetch_start + prefetch_length, file_size) - 1
1735+
if prefetch_start < prefetch_end_interval:
1736+
prefetch_interval = [prefetch_start, prefetch_end_interval]
1737+
if not data_range.interval.contains(prefetch_interval):
1738+
self.enqueue_download_data(path, prefetch_start, prefetch_length, prefetch=True)
17351739
logger.debug("read '%s' '%i' '%i' '%s' in range" % (path, length, offset, fh))
17361740
break
17371741
else:

0 commit comments

Comments
 (0)