javascript程序合理期望处理多少数据?

时间:2010-09-21 23:22:41

标签: gwt memory-management

我正在用GWT写一些评分软件。我想处理一份学生名单,一份作业清单,以及学生x作业的分数。也许高达40x100的作业,每个作品都有一个名字,一个日期,一个分数等等。然后我想要多门课程。所以,x7。

突然间,这看起来像超过一兆字节的数据。浏览器可以轻松处理数兆字节的数据吗?从2001年开始,什么时候开始在计算机上开始使用IE6?

1 个答案:

答案 0 :(得分:3)

在一个阶段,我们构建的商业GWT应用程序的初始数据下载速度高达1MB(未压缩),适用于某些客户端。我们也有一些客户在旧机器和瘦客户机上使用我们的IE6网站。简而言之:缓慢但可用。 Chrome和其他不错的浏览器会在IE 8中大幅降低这种有效负载,取决于您的规格,它可能会非常痛苦。值得庆幸的是,根据我的经验,现代IE6用户现在已经很好地适应了屏幕上的东西,当事情加载时,如果你的网站有点慢,你不会得到太多的抱怨。

当数据完成下载时,有明显的浏览器锁定,因为GWT将其反序列化为javascript对象。如果您在收到数据时尝试为数据构建接口,则锁定可能会非常糟糕。只要您在数据结构中加入一些思考,无论您拥有多少数据,拉出单个记录并显示它们都是美好而快速的。如果您尝试将其全部用作统计分析的数据集,那么...计算平均成绩可能会在一两秒内完成,但不会在复杂性方面推动您的运气。

我的建议(即我们所做的)是将您的所有数据放入数据库中,并让您的GWT应用程序仅根据需要下载所需的部分。有效的界面设计很重要。您希望开始显示课程列表,当用户单击一个显示课程中的学生列表并显示它们时,用户单击学生下载其作业并显示它们。如果要显示一组分配的摘要和统计信息,请在服务器上进行计算,最好使用数据库的聚合函数。如果这开始在您的服务器上施加过度负载,请考虑缓存常见查询的结果。