Javascript中的金融计算器运行速度比Excel慢得多

我已将Excel退休计算器移植到Javascript中。原始Excel中有35个工作表,包含许多递归计算,所有这些都已转换为Javascript。 Javascript运行速度较慢(与Excel的瞬间相比为1-2秒)。 我正在缓存递归计算,以加快速度并防止浏览器中的堆栈溢出。 尝试让Javascript更快更真实吗? Excel如何变得如此高效? 我在某地读过,Excel只会在修改单元格的先例时重新计算。即便如此,在我看来,无论需要重新计算多少数据,Excel都是即时的。     
已邀请:
Excel更快,因为它靠近CPU几层 - 在操作系统中运行编译的字节码,而不是在运行解释JavaScript的浏览器中。 我会将性能与具有新一代JavaScript引擎的Google Chrome或FF3进行比较,并了解情况如何改进。请参阅John Resig的帖子:http://ejohn.org/blog/javascript-performance-rundown/。     
JavaScript比任何编译语言慢,这就是为什么Excel速度要快得多。我会使用Firebug的分析器来确定代码在大部分时间内花费的时间并专注于改进它。     
如果您将Excel公式移植到JavaScript同时保留了完整的算法,那么您最终使用的JavaScript代码可能不是最理想的JavaScript代码。您是否考虑过重构以利用JavaScript强大的语言功能? 另外,您在进行计算时是否渲染事物(更新表格单元格等)?请记住,一些DHTML更新可能会给浏览器带来很大的负担(嘿,你在浏览器中运行它,对吧?)也许将计算和渲染分开可能有所帮助。你首先忙着做所有的计算,然后做最后一步的演示。     
就像其他人所说的那样,JavaScript远不及编译语言那么快。目前,Chrome,Firefox和Webkit的JavaScript解释器之间存在一些军备竞赛,这确实改善了JavaScript的速度。但是,它仍然很慢,如果你使用的是IE7(甚至更糟的IE6),性能可能会非常低迷。 你可能想看看那里的一些JavaScript库(个人而言,我更喜欢jQuery),看看它们中的一些是否具有你可以利用的实用功能。一些使用较多的JavaScript库可能已经优化了您尝试执行的一些工作。它肯定不会像Excel一样快速地使用JavaScript,但是如果你可以用许多不同人优化的实用程序替换你的许多功能,你可以看到一点点的速度提升。     

要回复问题请先登录注册