多少外部数据太多了? (XML或JSON)

时间:2010-02-08 12:19:52

标签: javascript xml json

我之前编写过纯JavaScript前端,并且在处理大量数据时开始注意性能下降。我尝试过使用xml和json,但在这两种情况下,浏览器都需要处理很多事情。

这提出了我的问题,这是多少太多了?

4 个答案:

答案 0 :(得分:3)

你不能知道,不完全也不总是。你可以做出很好的猜测。

这取决于浏览器,操作系统,内存,CPU,当时正在运行的内容,连接速度,传输的内容等等。

找出普通用户所期望的几种情况,然后对其进行测试。添加各种最佳,最差和最有趣(例如手机,平板电脑)的案例。

当然,您可以应用经验并从您的具体案例中进行推断,答案将在未来发生变化。


但不要陷入“它对我有用!”的陷阱。

我通常会在屏幕分辨率上看到这一点:随着这些分辨率的增加,同时可以看到多个窗口会更受欢迎。在1995年,我很少没有有最大化的东西;现在十五年后,恰恰相反。

然而,有时人们会设计一些软件或网站,使用较低的对比度 [1] ,最大化它,并连接到localhost上的服务器 - 这是他们唯一的评估。

[1]因为他们知道文字的内容并且不需要自己阅读,所以较低的对比度在美学上看起来更好。

答案 1 :(得分:2)

在我看来,如果你需要停下来思考这个问题,那么数据就太多了。通常,您应该设计应用程序,以便具有低端上网本和/或慢速Internet连接的用户仍然可以运行它们。另外请注意,您的应用程序通常不是用户同时访问的唯一页面。

我的建议是使用Firefox和Firebug进行一些测量。查看请求在适度配置中完成的时间。如果浏览器需要花费大量时间来呈现数据,那么最好重新进行重新设计。

答案 2 :(得分:2)

一个好的指导原则应该是,不要担心浏览器是否可以处理您发送的数据量,而是担心您的用户是否可以处理它。这一切都取决于当然的呈现方式(即,为可视化工具绑定的大量数据将在画布中呈现复杂图形,而不是绑定到巨大表格的大量原始数据),但在我的经验中用户的大脑在浏览器/网络/客户端计算机之前达到数据过载。

答案 3 :(得分:0)

这实际上取决于您的外部数据将在您的Javascript中采用的形式。如果要一次加载所有数据并将其作为具有大量属性(关联数组)的大对象保存在内存中,那么您会发现大多数当前桌面只能处理大约100k条目(具有小键值对)在性能真的降低之前。

如果可能,您应该看看是否有方法只加载用户对给定请求/交互所需的数据。您可以使用AJAX来请求您认为用户可能需要的所需数据和预取数据。