代码之家  ›  专栏  ›  技术社区  ›  Mike

javascript:通过优化名称查找可以获得什么性能?

  •  1
  • Mike  · 技术社区  · 15 年前

    我工作的公司给我们(或者更确切地说是我)买了一本奥雷利的jquery食谱,我从前面到后面都在读。现在我5点13分,这是关于名字查找的。它声称,在适当的情况下,针对名称查找进行优化的代码可以提高高达70%的性能。在一个非常情景化的例子中,它声称速度甚至是35倍,并且将执行时间从7秒缩短到了0.2秒!

    我的问题是:在真实的实况下,名字查找优化通过哪一个因素来提高性能?在4K JS行Ajax应用程序上花费几个小时是否值得?

    2 回复  |  直到 15 年前
        1
  •  3
  •   AutomatedTester    15 年前

    它的作用取决于它的实际用途。就像问一根绳子有多长。

    我已经看到,在javascript中,将名称设置为“真”、“假”、“未定义”可以使应用程序至少快10倍。它变得更快的原因是它不需要深入研究全球范围链。Nick Zakas在下面的谷歌代码视频中很好地解释了这一点。

    http://googlecode.blogspot.com/2009/06/nicholas-c-zakas-speed-up-your.html

    编辑:

    我刚发现这个,觉得它可能有用。这也是对范围链的快速解释。 http://www.phpied.com/extreme-javascript-optimization/

        2
  •  2
  •   marcgg    15 年前

    尼古拉斯·扎卡斯对这个问题做了一些研究,并就此进行了讨论。 Google Tech Talk .似乎您可以获得一个有趣的性能增强。我不确定确切的数字,但可以肯定的是,优化名称查找将提高代码的速度。

    当然,如果你将10年的遗留代码拖到身后,这些代码工作得很好,不要担心优化…但是如果您的应用程序运行缓慢,我会考虑优化代码。

    如果决定进行重构,请尝试确定可以优化的内容。我建议使用 javascript profiler of firebug 这样做。

    您甚至可以尝试优化代码的一小部分,查看您获得的性能提升,然后确定是否值得优化应用程序的其余部分。