思路
- 定义一个较大的运算次数,例如
N
。
- 分别针对加法、乘法、除法操作,在一个循环中执行
N
次运算,并记录开始时间和结束时间,通过两者差值计算出每种运算操作所花费的时间。
- 比较三种运算操作花费时间的差异,以得出性能差异。
大致代码框架
// 定义运算次数
const N = 1000000;
// 测试加法性能
let startTime = Date.now();
for (let i = 0; i < N; i++) {
let result = 1 + 2;
}
let endTime = Date.now();
let addTime = endTime - startTime;
console.log(`加法运算 ${N} 次花费时间: ${addTime} 毫秒`);
// 测试乘法性能
startTime = Date.now();
for (let i = 0; i < N; i++) {
let result = 1 * 2;
}
endTime = Date.now();
let multiplyTime = endTime - startTime;
console.log(`乘法运算 ${N} 次花费时间: ${multiplyTime} 毫秒`);
// 测试除法性能
startTime = Date.now();
for (let i = 0; i < N; i++) {
let result = 1 / 2;
}
endTime = Date.now();
let divideTime = endTime - startTime;
console.log(`除法运算 ${N} 次花费时间: ${divideTime} 毫秒`);
// 比较性能差异
if (addTime < multiplyTime && addTime < divideTime) {
console.log('加法运算性能最佳');
} else if (multiplyTime < addTime && multiplyTime < divideTime) {
console.log('乘法运算性能最佳');
} else {
console.log('除法运算性能最佳');
}