发一个有关时间跨度的Nodejs模块--timespans

发一个有关时间跨度的Nodejs模块–timespans

有时候在程序中要观察某一段程序运行了多久时间,或者中间的某一段运行了多久时间,我们都会自己通过Date对象自己处理,这里我写了一个小小的库timespans方便使用!写的不是很好还请谅解。热烈欢迎大家拍砖啊!

Install

npm install timespans

This is a timespans for nodejs.

Usage1

var tw = require('timespans');

tw.start();

var t = 1.0;

for(var i=1;i<10000000;i++){ t += i; }

tw.stop();

console.log('总时间:%s 暂停时间:%s 使用时间:%s ', tw.elapsedtime(), tw.pausetime(), tw.usedtime());

Result

总时间:20ms 暂停时间:0ms 使用时间:20ms

Usage2

var ts = require('timespans');

//开始
ts.start();

var t = 1.0;

for(var i=1;i<10000000;i++){
 t += i;

 if(i==100000){
  //可以选择在程序中的某个点暂停
  ts.pause();
 }

 if(i==1000000){
  //再次到达某个点时继续
  ts.continue();
 }
}

//停止
ts.stop();

console.log('总时间:%sms 暂停时间:%sms 使用时间:%sms ', ts.elapsedtime(), ts.pausetime(), ts.usedtime());

Result

总时间:108ms 暂停时间:14ms 使用时间:94ms

在计算时间跨度的时候就方便多了。

源码地址:https://github.com/Dn9x/timespans

#热烈欢迎大家拍砖纠正!


3 回复

发一个有关时间跨度的Nodejs模块–timespans

有时候在程序中要观察某一段程序运行了多久时间,或者中间的某一段运行了多久时间,我们都会自己通过Date对象自己处理。这里我写了一个小小的库timespans方便使用!写的不是很好还请谅解。热烈欢迎大家拍砖啊!

安装

npm install timespans

这是一个用于Node.js的时间跨度模块。

使用示例1

var tw = require('timespans');

tw.start(); // 开始计时

var t = 1.0;

for(var i=1; i < 10000000; i++) {
    t += i;
}

tw.stop(); // 停止计时

console.log('总时间:%s 暂停时间:%s 使用时间:%s', 
            tw.elapsedtime(), 
            tw.pausetime(), 
            tw.usedtime());

结果

总时间:20ms 暂停时间:0ms 使用时间:20ms

在这个例子中,我们仅使用了简单的开始和结束计时功能。elapsedtime()返回自开始到结束的总时间,pausetime()返回暂停的时间(本例中为0),usedtime()返回实际运行时间。

使用示例2

var ts = require('timespans');

// 开始计时
ts.start();

var t = 1.0;

for(var i=1; i < 10000000; i++) {
    t += i;

    if(i == 100000) {
        // 可以选择在程序中的某个点暂停
        ts.pause();
    }

    if(i == 1000000) {
        // 再次到达某个点时继续
        ts.continue();
    }
}

// 停止计时
ts.stop();

console.log('总时间:%sms 暂停时间:%sms 使用时间:%sms', 
            ts.elapsedtime(), 
            ts.pausetime(), 
            ts.usedtime());

结果

总时间:108ms 暂停时间:14ms 使用时间:94ms

在这个例子中,我们在循环的不同位置插入了暂停和继续操作。这使得我们可以更灵活地控制时间的记录方式。

总结

这个模块提供了一种简单的方式来测量和记录程序运行的时间。它不仅支持基本的开始和结束计时,还支持在程序执行过程中暂停和继续计时。希望这个模块能帮助大家更好地理解和优化代码性能。

源码地址

https://github.com/Dn9x/timespans

热烈欢迎大家拍砖纠正!


你好!刚才看了你的源码,如果暂停多次的话,时间计算貌似是有问题的

以下是关于时间跨度的Node.js模块 timespans 的示例和说明:

安装

npm install timespans

示例用法

示例1

const timespans = require('timespans');

timespans.start();

let t = 1.0;

for (let i = 1; i < 10000000; i++) {
    t += i;
}

timespans.stop();

console.log('总时间:%sms 暂停时间:%sms 使用时间:%sms', 
            timespans.elapsedtime(), 
            timespans.pausetime(), 
            timespans.usedtime());

输出结果:

总时间:20ms 暂停时间:0ms 使用时间:20ms

示例2

const timespans = require('timespans');

// 开始计时
timespans.start();

let t = 1.0;

for (let i = 1; i < 10000000; i++) {
    t += i;

    if (i == 100000) {
        // 在某个点暂停
        timespans.pause();
    }

    if (i == 1000000) {
        // 再次继续
        timespans.continue();
    }
}

// 停止计时
timespans.stop();

console.log('总时间:%sms 暂停时间:%sms 使用时间:%sms', 
            timespans.elapsedtime(), 
            timespans.pausetime(), 
            timespans.usedtime());

输出结果:

总时间:108ms 暂停时间:14ms 使用时间:94ms

解释

  • timespans.start(): 开始记录时间。
  • timespans.pause(): 暂停时间记录(如果需要)。
  • timespans.continue(): 继续记录时间。
  • timespans.stop(): 停止时间记录并返回总时间。
  • timespans.elapsedtime(): 返回总时间。
  • timespans.pausetime(): 返回暂停时间。
  • timespans.usedtime(): 返回实际使用时间(即总时间减去暂停时间)。

通过这些方法,你可以更方便地测量和分析程序中的时间跨度。

回到顶部