在过去的几个月里,我一直在构建一个原型页面,它使用了大量的 SVG,并且总体上有很多元素。在 JavaScript 和服务器端(大量 AJAX)中还处理了大量数据。页面上有数千个事件监听器。很重,这才是重点。
在 JS 中做这样的事情的最大障碍之一是单线程,当我必须执行 10 秒的计算时,它会锁定页面。有一些策略可以解决这个问题,但在 IE 支持 Web Workers 之前,并没有什么优雅的解决方案。此外,该页面可以使用超过 500MB 的内存,Chrome 似乎有时会遇到这种情况。
我想知道的是在 JavaScript 中构建这样的东西的可行性。我的代码远未优化,但让我们假设这个页面现在处理的负载是它所需要的——或者假设它需要更多。
我们还假设用户需要至少有一个中档桌面才能使用该应用程序。
人们是否如此努力地推动 JavaScript?就内存和 CPU 性能而言,它可以处理的内容有哪些限制?客户端与服务器端应该做多少?
编辑:我想每个人都会误解这个问题是不可避免的。我不是在寻求关于如何优化 JS 代码的建议。我在问在客户端处理多少处理和数据是合理的。是的,这取决于硬件,我试图通过使用最新浏览器的中档台式机来回答,但实际上这不是重点。我想从概念上了解 JavaScript 在执行繁重的处理方面有多强大。在 JavaScript 中进行繁重的处理是否可行?
我希望每个人现在都能得到它。这是服务器端与客户端的比率。如果我必须运行一个具有 1000000 次迭代的循环,并且假设在 JS 中进行 X 迭代和在服务器上进行 Y 迭代之间进行选择没有成本,那么期望 JavaScript 处理多少是合理的?