function now() { return Date.now(); }
let sum = 0, t0 = now();
for (let i = 0; i < 1000000; i++) sum += i;
let t1 = now();
console.log("1M加法: " + (t1-t0) + "ms, sum=" + sum);
function fib(n) { return n <= 1 ? n : fib(n-1) + fib(n-2); }
t0 = now(); let f30 = fib(30); t1 = now();
console.log("fib(30): " + (t1-t0) + "ms, result=" + f30);
function mk() { let n = 0; return () => ++n; }
t0 = now(); let c = mk();
for (let i = 0; i < 100000; i++) c();
t1 = now();
console.log("100K闭包: " + (t1-t0) + "ms, val=" + c());
t0 = now();
let arr = [];
for (let i = 0; i < 10000; i++) arr.push(i);
for (let i = 0; i < 10000; i++) sum += arr[i];
t1 = now();
console.log("10K数组: " + (t1-t0) + "ms");
t0 = now();
let s = "";
for (let i = 0; i < 5000; i++) s += "x";
t1 = now();
console.log("5K拼接: " + (t1-t0) + "ms, len=" + s.length);
t0 = now();
let str = "";
for (let i = 0; i < 5000; i++) str += "a,b,c,";
let parts = str.split(",");
t1 = now();
console.log("5K split: " + (t1-t0) + "ms, fields=" + parts.length);