说明IE和FireFox(或Chrome、Safari等)之间速度差异的JavaScript是什么

说明IE和FireFox(或Chrome、Safari等)之间速度差异的JavaScript是什么,javascript,internet-explorer,firefox,Javascript,Internet Explorer,Firefox,最近,我听到很多不同的人抱怨IE在使用JavaScript操作DOM时与其他浏览器的速度差异 我原以为我会编写一个小脚本,看看到底有什么不同,但我认为我看到的问题是错误的,因为IE的性能与我开发的测试一样好,甚至更好 是否有人拥有一些JavaScript,能够很好地说明IE与其他浏览器在速度上的差异,特别是操纵DOM的代码 我想测试一些优化技术,但我首先需要一个好的测试用例 编辑:对不起,这是我的小剧本: var counter = 0; // Global element counter

最近,我听到很多不同的人抱怨IE在使用JavaScript操作DOM时与其他浏览器的速度差异

我原以为我会编写一个小脚本,看看到底有什么不同,但我认为我看到的问题是错误的,因为IE的性能与我开发的测试一样好,甚至更好

是否有人拥有一些JavaScript,能够很好地说明IE与其他浏览器在速度上的差异,特别是操纵DOM的代码

我想测试一些优化技术,但我首先需要一个好的测试用例

编辑:对不起,这是我的小剧本:

  var counter = 0; // Global element counter

  function addCheckBoxes(){
    var container = document.getElementById('container');
    var newBox = document.getElementById('check1').cloneNode(true);
    newBox.id = '';
    container.appendChild(newBox);
  }

  function addLotsOfBoxes(){
    var thistime = new Date();
    for(i=0; i < 8000; i++)
    {
      addCheckBoxes();
    }   
    var thattime = new Date();
    var timediff = thattime - thistime;
    alert(timediff);
  }
var计数器=0;//全局元素计数器
函数addcheckbox(){
var container=document.getElementById('container');
var newBox=document.getElementById('check1').cloneNode(true);
newBox.id='';
容器.附件(新箱);
}
函数addLotusBoxes(){
var thistime=新日期();
对于(i=0;i<8000;i++)
{
添加复选框();
}   
var thattime=新日期();
var timediff=该时间-该时间;
警报(timediff);
}

我有一些在过去被抛出的演示

但在(特别是)上有大量的人


[编辑(olliej):哎哟,我刚刚意识到这些在IE中都不起作用:-(]

我有一些在过去已经发布过的演示

但在(特别是)上有大量的人

[编辑(olliej):哎呀,我刚刚意识到这些都不能在IE中使用:-(]

mozilla的基准测试应该是对dom操作性能的一个很好的测试

还有一些基准测试,但是它们根本不涉及DOM。

mozilla的基准测试应该是对DOM操作性能的良好测试


还有一些基准,但这些基准根本不涉及DOM。

我不知道如何将多个答案标记为正确答案;显然,我没有足够的分数来支持这两个答案:(dromaeo的问题是它的实现很差——例如,有一些测试运行了多次,并且计算了平均时间(这没问题)但是DOM在运行之间不会被清除,因此在快速DOM实现中,后面的运行开始使用大量内存,导致性能急剧下降。如果在这种情况下运行基于webkit的浏览器,则会在DOM测试中看到巨大差异。正因如此,我不知道如何将多个答案标记为正确答案;以及显然,我没有足够的分数来支持这两个答案:(dromaeo的问题是它的实现很差——例如,有一些测试运行了多次,并且计算了平均时间(这是可以的)但是DOM在运行之间不会被清除,因此在快速DOM实现中,后面的运行开始使用大量内存,导致性能急剧下降。如果在这种情况下运行基于webkit的浏览器,则会在DOM测试中看到巨大差异。正因如此,我不知道如何将多个答案标记为正确答案;以及显然,我没有足够的分数来支持两个答案:(我不知道如何将多个答案标记为正确;显然,我没有足够的分数来支持两个答案:(