1

私は次のようなコードを持っています:

oTable = $('#dataTable').dataTable({
    "sScrollX": "100%",
    "bScrollCollapse": true,
    iDisplayLength: -1,
    aLengthMenu: [[-1, 25, 50, 200, "All"], [10, 25, 50, 200, "All"]],
    aoColumnDefs: [
        { "sSortDataType":"dom-data-rk", "aTargets": ["sort-data-rk"] },
        { "sType": "date-uk", "aTargets": ["sort-date-uk"] },
        { "sType": "datetime-uk", "aTargets": ["sort-datetime-uk"] }
    ]
});

このコードがjavascriptまたはjQueryを使用して実行するのにかかる時間を計ることができる方法はありますか?C#のストップウォッチメソッドのようなものですか?

4

6 に答える 6

6

コンソール時間を使用して、所要時間を確認できます。

console.time('profile');

for ( var i=0; i < 100000; i++) {
   var arr = new Array();
}

var time = console.timeEnd('profile');

変数 time の結果はミリ秒単位になります。例: http://jsfiddle.net/dadviegas/dV9rf/

すべてのブラウザ

var one=new Date();
for ( var i=0; i < 100000; i++) {
  var arr = new Array();
}
var two=new Date();

//Calculate difference btw the two dates
alert(two.getMilliseconds()-one.getMilliseconds());

このソリューションをjsfiddleに追加しました

于 2012-08-28T16:25:02.603 に答える
1

これを試して:

var start = new Date();
var startTime = start.getTime();

// do whatever you want, your code

var end = new Date();
var endTime= end.getTime();
var timeTaken = end - start;
alert('Execution time is : ' + timeTaken);
于 2012-08-28T16:49:56.620 に答える
0

IEの場合、次のようなものを使用する必要があります

 var start = new Date().getTime();

    oTable = $('#dataTable').dataTable({
     "sScrollX": "100%",
     "bScrollCollapse": true,
     iDisplayLength: -1,
     aLengthMenu: [[-1, 25, 50, 200, "All"], [10, 25, 50, 200, "All"]],
     aoColumnDefs: [
        { "sSortDataType":"dom-data-rk", "aTargets": ["sort-data-rk"] },
        { "sType": "date-uk", "aTargets": ["sort-date-uk"] },
        { "sType": "datetime-uk", "aTargets": ["sort-datetime-uk"] }
     ]
    });

    var end = new Date().getTime();
    var time = end - start;
    alert('Execution time: ' + time);
于 2012-08-28T16:49:11.617 に答える
0

日付オブジェクトはありますか

var t = new Date;
//some processing here


console.log( new Date - t ); 
于 2012-08-28T16:25:10.137 に答える
0

C# ストップウォッチの主要な機能の実装を次に示します。getTime() よりも正確な新しいperformance.now()関数が利用可能な場合に使用されます。

var Stopwatch = function () {
    var startTime;
    var hasPerformance = window.performance && window.performance.webkitNow;

    return {
        start: function () {
            startTime = hasPerformance ? window.performance.webkitNow() : new Date().getTime();
        },
        end: function () {
            this.elapsed = (hasPerformance ? window.performance.webkitNow() : new Date().getTime()) - startTime;
        },
        elapsed: 0
    };
}

使用法:

var myStopwatch = Stopwatch();
myStopwatch.start();
/* code you want to time goes here */
myStopwatch.end()
alert("It took " + stopwatch.elapsed + " milliseconds!");
于 2012-08-28T16:55:18.210 に答える
0

組み込みの JS タイマーは、まったく正確ではありません。

dynatrace AJAX 版が大好きです。非常に良いタイミングを提供する IE プラグインです。

http://ejohn.org/blog/deep-tracing-of-internet-explorer/

于 2012-08-28T17:27:51.690 に答える