Prefetch

Prefetching is an optimization technique that fetches data and loads it into memory before that data is actually requested. When successful, prefetching improves performance and reduces latency because an application does not need to read data from a slower storage disk but can instead access it from a faster memory cache. However, it requires that the system accurately predicts what data an application or process needs in advance. Prefetching can lead to wasted resources if the system makes incorrect predictions.

In order to predict what data it needs to prefetch, a computer system analyzes usage patterns to see how users and applications typically request data. They may use simple pattern matching algorithms or advanced machine learning to predict future behavior. Most operating systems use this information to speed up application launch times by preloading data these apps need; this feature is called SuperFetch in Windows and Application Launch Services in macOS. Mobile operating systems like Android and iOS also use prefetching to speed up app launch times.

Software applications and hardware devices can both include built-in prefetching functions. CPUs often use prefetching to load the next set of execution instructions into the cache. GPUs prefetch texture images into VRAM if the system anticipates they are needed to render upcoming frames. Database systems often prefetch data that a query may request before that query is executed. Web browsers can even prefetch data from other webpages that are linked to from the current page, downloading scripts, images, audio, and video to help the next page load faster when you click a link.

Updated November 17, 2023 by Brian P.

quizTest Your Knowledge

The UML 1.0 language specification was published in what year?

A
1967
0%
B
1977
0%
C
1987
0%
D
1997
0%
Correct! Incorrect!     View the UML definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Prefetch on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.