LoginSignup
1
1

More than 1 year has passed since last update.

Node.js・ブラウザ(JavaScript)で処理時間を測る方法のいくつか

Last updated at Posted at 2021-11-27

JavaScript で処理時間を計測する場合の話で、複数の方法があるので、そのいくつかをまとめてみました。

Node.js は 2通り、ブラウザ(Chrome を利用)は 3通りの方法を試しています。

Console API

最初は Console API です。

●Console API reference - Chrome Developers
 https://developer.chrome.com/docs/devtools/console/api/#time
Console_API_reference_-_Chrome_Developers.jpg

以下、ブラウザと Node.js でそれぞれ動かしてみたものです。

ブラウザ

<html>

<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>

<body>
</body>
<script>
    console.log("start");
    console.time("test");

    let count;
    const num = 2000000000;
    for (let i = 0; i < num; i++) {
        let square = i ** 2;
    }

    console.timeEnd("test");
    console.log("end");
</script>

</html>

以下の出力が得られました。
ブラウザで.jpg

Node.js

console.log("start");
console.time("test");

let count;
const num = 200000000;
for (let i = 0; i < num; i++) {
  let square = i ** 2;
}

console.timeEnd("test");
console.log("end");

実行結果は以下の通りです。
Node.jsで.jpg

Performance

次は以下を試します。

●Performance - Web API | MDN
 https://developer.mozilla.org/ja/docs/Web/API/Performance

●Performance measurement APIs | Node.js v17.1.0 Documentation
 https://nodejs.org/api/perf_hooks.html

以下、ブラウザと Node.js でそれぞれ動かしてみたものです。
Node.js の場合は const performance = require("perf_hooks").performance; という部分を追加しています。

ブラウザ

<html>

<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>

<body>
</body>
<script>
    console.log("start");
    const startTime = performance.now();

    let count;
    const num = 2000000000;
    for (let i = 0; i < num; i++) {
        let square = i ** 2;
    }

    console.log(`${performance.now() - startTime}`);
    console.log("end");
</script>

</html>

Node.js

const performance = require("perf_hooks").performance;

console.log("start");
const startTime = performance.now();

let count;
const num = 200000000;
for (let i = 0; i < num; i++) {
  let square = i ** 2;
}

console.log(`${performance.now() - startTime}`);
console.log("end");

出力は省略しています。

ブラウザ(Chrome)の開発者ツール

以下の記事に、Chrome の開発者ツールを使った例が書かれていたので、それを試してみました。

●JavaScriptで任意の処理にかかる時間を計測する
 https://sbfl.net/blog/2017/12/01/javascript-measure-time/

手順は以下となります。

  1. Chrome で開発者ツールを開く
  2. Performanceタブを開く ⇒
  3. 左上にある丸型のアイコンかその隣のアイコンを押して計測開始4
  4. Stopボタンを押す」

以下は、計測結果が表示された場所のキャプチャです。

開発者ツールで.jpg

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1