预取

预取是一种优化技术,会在数据实际被请求之前获取数据并将其加载到内存中。预取成功时,可以提升性能并减少延迟,因为应用程序不需要从速度较慢的存储磁盘读取数据,而是可以从速度更快的内存缓存中访问数据。不过,这要求系统能够准确预测应用程序或进程将提前需要哪些数据。如果系统预测错误,预取可能会造成资源浪费。

为了预测需要预取哪些数据,计算机系统会分析使用模式,了解用户和应用程序通常如何请求数据。系统可能使用简单的模式匹配算法,也可能使用高级机器学习来预测未来行为。大多数操作系统会利用这些信息,通过预先加载应用需要的数据来加快应用启动速度;在Windows中,此功能称为 SuperFetch,在macOS中则称为 Application Launch Services。Android 和 iOS 等移动操作系统也使用预取来加快应用启动速度。

软件应用程序和硬件设备都可以包含内置的预取功能。CPU通常会使用预取,将下一组执行指令加载到缓存中。如果系统预计即将需要纹理图像,GPU会将它们预取到VRAM中,以便渲染即将显示的帧。数据库系统通常会在查询执行前,预取该查询可能请求的数据。Web 浏览器甚至可以从当前页面链接到的其他网页中预取数据,下载脚本、图像、音频和视频,以便你点击链接后下一页面能够更快加载。

更新日期 November 17, 2023 作者 Brian P.

quiz测试你的知识

What does software-defined networking (SDN) accomplish?

A
Routing data packets from a central server instead of individual routers
0%
B
Sending data over a virual Ethernet network
0%
C
Transferring files between Mac and Windows computers
0%
D
Creating a wireless Bluetooth network between portable devices
0%
Correct! Incorrect!     View the SDN definition.
More Quizzes →

Tech Terms 计算机词典

本页中预取的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。