问题标签 [prefetch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1393 浏览

javascript - 使用 javascript 预取网页有什么缺点吗?

我目前正在尝试使用下面的代码(req. jQuery)预取页面以提高我们网站的感知性能。

只有 0.5% 的访问者使用拨号,我不包括查询字符串(过去的美好时光)、外部链接(http)和 pdf(我们的大文件是这种格式)。在生产站点上,预取我没有考虑过的其他可能的负面情况是什么?

对于某些链接,当将鼠标悬停在它上面时,它将预加载页面,并且在 mousedown 时将导航(而不是在释放按钮之后)。

0 投票
2 回答
107 浏览

javascript - 确定客户端是否启用了预取

我最近收到了一个请求,以确定用户的浏览器是否启用了预取。我四处寻找,但我空无一物。关于如何完成这项任务的任何想法?我查看了标头中的流量,但在请求中没有看到任何表明已启用预取的内容。

0 投票
2 回答
68 浏览

image - 将多个图像下载到网页的替代方法

我们都知道,由于 HTTP 协议中的浏览器限制,预取图像会运行缓慢,对吧?因此,我可以使用XHTML、jQuery、Apache httpd 和 PHP。在不使用精灵或多个主机的情况下预取大量图像的简单解决方案是什么?

看,我有这些主题可以用 SELECT 框选择。它会更改框右侧的 200x200 主题图像。不幸的是,其中有 150 个。因此,当我加载页面时,进度条会一直运行以下载所有这些。

如何在不使用精灵或多个主机的情况下更快地预取这些图像?

0 投票
1 回答
266 浏览

linux - Linux:需要设计 pre-fetcher 将文件从 NAS 缓存到系统内存中

我正在为以下场景设计服务器:

  1. 一系列单个图像存储在 NAS 上,比如说 100 个
  2. 客户端通过 TCP 套接字连接到服务器并请求 image39
  3. 服务器从 NAS 读取 image39 并通过套接字发送回客户端
  4. 客户很可能还会请求该系列中的其他图像,因此:
  5. 我想启动一个线程来遍历图像,读取它们,然后 cat image39 > /dev/null强制缓存到服务器上的内存中
  6. 线程将按如下方式获取图像:image38、image40、image37、image41 等。
  7. 已经获取的图像被忽略
  8. 如果客户端现在请求 image77,我想重置获取线程以获取:image76、image78 等。

这必须扩展到许多系列和客户。可能在 1000 个并发预取的数量级上。我知道如果线程太多,线程可能会导致性能下降。改用 fork 一个新进程会更好吗?有没有比线程或进程更有效的方法?

谢谢!!!

0 投票
3 回答
908 浏览

html - HTML5 缓存清单和预取

我没有完全理解的一件事是,当缓存清单对列出的所有文件在线时,它是否也充当预取。

例如,假设我正在访问:

我网站上的每个页面都有相同的声明:

在缓存清单文件中,我有:

所以会发生什么是我首先访问/page1.html,当我在线时,我的浏览器也会知道缓存页面2-4。当我断开连接并访问第 2-4 页时,一切都会正常加载,因为它已经被缓存了。

问题:如果我访问/page1.html,并且我仍然在线连接,并且访问/page2.html,我的浏览器是否仍然请求/page2.html,或者它不会向服务器发出另一个请求并使用它缓存的内容来自 /cache.manifest 文件?本质上就像firefox使用的预取链接?

0 投票
1 回答
787 浏览

jquery - 带有 jQ​​uery 选项卡的平滑 div “图库”

我正在为可以被描述为div “画廊”的东西寻找一种优雅而有效的解决方案。

目前我们div在服务器上使用 jQuery UI 选项卡和 prepopulate 。用户只看到活动的div并且可以移动到下一个或上一个选项卡。但是,由于列表现在包含 100 多个项目,我们希望切换到动态加载方法。

起初,我尝试将div 项目的生成与 AJAX 调用分开,并使用内置的 Tabs AJAX 功能。但是,使用 jQuery UI 选项卡 AJAX 来回移动时的故障非常明显。加载选项卡后,它会被缓存,因此它会再次正常工作。

我现在有以下想法:

  1. 每次用户单击“下一步”时,以某种方式预取接下来的 5 个选项卡。

    用户不太可能快速滚动,我们可以在快速滚动的情况下处理故障。我要做的就是确保通常在显示几个下一个选项卡之前加载它们。jQuery选项卡可以做到这一点吗?

  2. 在服务器上填充一个 JavaScript 数组并动态创建divs。

    这是我正在研究的另一种可能的解决方案。我本可以编写一个函数来生成div保存在 JavaScript 中的对象数据。JavaScript 可以由服务器生成。

哪个更合适?我错过了什么吗?

0 投票
1 回答
1112 浏览

c - 预取对齐内存

我有一些线程化的 C 代码,需要对已处理的数据结构进行 64 字节对齐。这种对齐将如何与 gcc __builtin_prefetch 等预取指令交互?预取的效果是否与使用非对齐数组相同?

请注意,我使用 memalign 来获取对齐的数组。

谢谢。

0 投票
2 回答
2354 浏览

core - corei3 中的硬件预取

corei3是否支持通过硬件预取器进行硬件预取?如果是,我该如何启用/禁用它?

0 投票
1 回答
143 浏览

c - 一次从磁盘读取离散的页面集

问题如下:-

我在磁盘上有一个很大的文件(比如 TB),现在我想从磁盘上的这个文件中读取 N 页(离散且不连续),磁盘读取次数最少(或者说我想通过最小化磁盘中的旋转和寻道延迟来最小化从磁盘读取这些 N 页所花费的时间)。理想的情况是,我从一个页面开始读取,并且在磁盘旋转结束之前完成所有读取。页面的位置差异很大,所以我不能简单地发出从第一页到最后一页的读取命令,覆盖所有 N 页。这将占用大量内存来存储。(额外 - 我正在浏览一些材料并遇到“列表预取”“ 数据库中的机制。我通读了它,发现这样的实现可以解决我的问题。)

有人可以帮我用 C 语言解决这个问题吗?提前致谢!

0 投票
5 回答
34706 浏览

gcc - 预取示例?

任何人都可以给出一个示例或链接到一个__builtin_prefetch在 GCC 中使用的示例(或通常只是 asm 指令 prefetcht0)以获得实质性的性能优势吗?特别是,我希望该示例满足以下条件:

  1. 这是一个简单、小型、独立的示例。
  2. 删除__builtin_prefetch指令会导致性能下降。
  3. 用相应的内存访问替换__builtin_prefetch指令会导致性能下降。

也就是说,我想要一个最短的例子来展示__builtin_prefetch一个没有它就无法管理的优化。