📌  相关文章
📜  performance.now nodejs 示例 - Javascript (1)

📅  最后修改于: 2023-12-03 15:18:17.704000             🧑  作者: Mango

Performance.now Node.js 示例

当需要对Node.js的性能进行分析时,可以使用performance.now()函数获取精确的时间戳。在本文中,我们将探讨如何在Node.js环境下使用performance.now()函数。

使用步骤

1.首先,在你的Node.js项目中引入perf_hooks模块:

const { performance } = require('perf_hooks');

2.使用performance.now()函数来获取性能数据,以下是一个示例:

const startTime = performance.now(); // 记录开始时间

for (let i = 0; i < 1000000; i++) {
  // 模拟耗时操作
}

const endTime = performance.now(); // 记录结束时间
const duration = endTime - startTime; // 计算操作耗时
console.log(`操作耗时: ${duration} 毫秒`);
示例代码

下面的示例代码展示了如何使用performance.now()函数来测量两个函数的执行时间:

const { performance } = require('perf_hooks');

// 随机生成一个数组
function generateRandomArray(size) {
  const arr = [];

  for (let i = 0; i < size; i++) {
    arr.push(Math.random() * 1000);
  }

  return arr;
}

// 使用冒泡排序算法排序数组
function bubbleSort(arr) {
  const len = arr.length;

  for (let i = 0; i < len - 1; i++) {
    for (let j = 0; j < len - 1 - i; j++) {
      if (arr[j] > arr[j + 1]) {
        const temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
  }

  return arr;
}

// 测试两个函数的执行时间
const arr = generateRandomArray(10000);

const startTime1 = performance.now(); // 记录开始时间
bubbleSort(arr);
const endTime1 = performance.now(); // 记录结束时间

const startTime2 = performance.now(); // 记录开始时间
arr.sort();
const endTime2 = performance.now(); // 记录结束时间

const duration1 = endTime1 - startTime1; // 计算第一个函数耗时
const duration2 = endTime2 - startTime2; // 计算第二个函数耗时

console.log(`冒泡排序耗时: ${duration1} 毫秒`);
console.log(`Array.prototype.sort()耗时: ${duration2} 毫秒`);
console.log(`快排比冒泡排序快 ${(duration1 / duration2).toFixed(2)} 倍`);
总结

以上是Node.js环境下使用performance.now()函数的一些示例。通过测量代码段的执行时间,可以对代码的性能进行评估和优化。追求高性能的程序员们,快来尝试一下吧!