Javascript 约翰·雷西格';s性能函数

Javascript 约翰·雷西格';s性能函数,javascript,jquery,performance,unit-testing,Javascript,Jquery,Performance,Unit Testing,我想测试我的js代码的性能,我正在寻找johnresig在书中提供的perf函数。有人知道如何创建这样的函数或简单函数(与John的perf相同)而不是使用测试库吗 以下是他的工作原理: perf('my test', function(){ // code to test for performance }) 我在google或book的代码中找不到它。我没有这本书,也不知道这里到底是什么意思,但类似于python的timeit可能是这样的: perf = function(fn) {

我想测试我的js代码的性能,我正在寻找johnresig在书中提供的
perf
函数。有人知道如何创建这样的函数或简单函数(与John的
perf
相同)而不是使用测试库吗

以下是他的工作原理:

perf('my test', function(){
   // code to test for performance
})

我在google或book的代码中找不到它。

我没有这本书,也不知道这里到底是什么意思,但类似于python的timeit可能是这样的:

perf = function(fn) {
    var times = 1000;
    if (parseInt(arguments[0]) > 0) {
        times = parseInt(arguments[0]);
        fn = arguments[1];
    }
    var d = new Date();
    while (times--) fn();
    return new Date() - d;
}

用法:perf(myFunc)或perf(5000,myFunc)

我没有这本书,也不知道这里到底是什么意思,但类似于python的timeit可能是这样的:

perf = function(fn) {
    var times = 1000;
    if (parseInt(arguments[0]) > 0) {
        times = parseInt(arguments[0]);
        fn = arguments[1];
    }
    var d = new Date();
    while (times--) fn();
    return new Date() - d;
}

用法:perf(myFunc)或perf(5000,myFunc)

在Mathias Bynens和John David Dalton的文章中描述了许多简单的基准模式。这是一本好书

此外,对于那些感兴趣或希望获得比OP更简单的测试套件的人,这里有一些:

  • (这是jsPerf使用的,也是由Mathias Bynens和John David Dalton发起的)
  • (由John Resig创建)

  • Mathias Bynens和John David Dalton在一篇文章中描述了许多简单的基准模式。这是一本好书

    此外,对于那些感兴趣或希望获得比OP更简单的测试套件的人,这里有一些:

    • (这是jsPerf使用的,也是由Mathias Bynens和John David Dalton发起的)
    • (由John Resig创建)

    不完全是你所问的,但是有一个网站可以测试JS性能:你读过这本书的第二章吗?@MichaelBurr:是的,我读过,但它使用了这个功能,我想让这个功能供我个人使用,我不知道他是怎么写的。@nnnnnn:我想用与john的
    perf
    相同的函数来测试我的代码,而不是导入测试库。我只需要一个像john这样的简单函数来测试我的js代码的性能。@Dev555看看Michael函数的内部。你会在那里找到你所需要的一切。也就是说:在函数开始时定义一个日期,完成后定义一个新日期并计算这两个日期之间的差值。结果并不准确,因为CPU几乎一直在你的脚本之外工作。这不完全符合你的要求,但有一个网站可以测试JS的性能:你读过这本书的第二章吗?@MichaelBurr:是的,我读过,但它使用了这个函数我想把这个函数用于我个人的使用,我不知道他是怎么写的。@nnnnnn:我想用与john的
    perf
    相同的函数来测试我的代码,而不是导入测试库。我只需要一个像john这样的简单函数来测试我的js代码的性能。@Dev555看看Michael函数的内部。你会在那里找到你所需要的一切。也就是说:在函数开始时定义一个日期,完成后定义一个新日期并计算这两个日期之间的差值。结果不准确,因为CPU几乎一直在脚本之外工作。我试过了,但浏览器挂起了。您能举例说明如何在jsfiddle或jsbin上使用它吗?谢谢你。尝试降低默认的
    次数
    值,可能1000太多。我尝试了,但浏览器挂起。您能举例说明如何在jsfiddle或jsbin上使用它吗?谢谢你。尝试降低默认的
    次数
    值,可能1000太多了。