Javascript中的财务计算器运行速度比Excel慢得多

我已经将Excel退休计算器移植到Javascript中。 原始Excel中有35个工作表,其中包含许多recursion计算,所有这些工作表都转换为Javascript。 Javascript运行速度较慢(与Excel瞬时相比1-2秒)。

我正在cachingrecursion计算,以加快速度并防止浏览器中的堆栈溢出。

尝试使JavaScript更快是否现实? Excel如何pipe理如此高效?

我读过一个地方,Excel只是在单元格的先例被修改时重新计算。 即使如此,在我看来,无论需要重新计算多less数据,Excel都是非常即时的。

Excel速度更快,因为它离CPU更近一层 – 在操作系统中运行编译的字节码,而不是运行解释型JavaScript的浏览器。

我将比较具有新一代JavaScript引擎的Google Chrome或FF3的性能,并了解情况如何改善。 请参阅John Resig的post: http : //ejohn.org/blog/javascript-performance-rundown/ 。

JavaScript比任何编译语言慢,这就是为什么Excel速度更快。 我会使用Firebug的分析器来确定你的代码花费了大部分时间,并专注于改进。

如果您已将Excel公式移植到JavaScript,同时完整地保留algorithm,那么您最终使用的JavaScript代码可能不是最理想的JavaScript。 你有没有考虑重构的东西,利用JavaScript的强大的语言function?

另外,你正在渲染的东西(更新表格单元等),而做计算? 请记住,一些DHTML更新可能会给浏览器带来很大的负担(嘿,你在浏览器中运行它,对吗?)也许分开计算和渲染可能会有所帮助。 你首先要忙于做所有的计算,然后做最后一步的演示。

就像其他人所说的那样,JavaScript远没有编译语言那么快。 目前,Chrome,Firefox和Webkit的JavaScript解释器之间出现了一场军备竞赛,通过JavaScript确实改善了速度。 但是,它仍然很慢,如果你使用的是IE7(或更差的IE6),性能可能会非常糟糕。

你可能想看看那些在那里的JavaScript库(我个人更喜欢jQuery ),看看它们中是否有一些你可以利用的效用函数。 一些使用率较高的JavaScript库可能已经优化了一些您正在尝试的工作。 它肯定不会让JavaScript像Excel一样快,但是如果你能用许多不同的人优化的工具代替许多你的function,你可能会看到一点速度的提高。