前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >今日代码 PK | 优雅统计耗时

今日代码 PK | 优雅统计耗时

作者头像
程序员鱼皮
发布2024-03-18 17:45:09
770
发布2024-03-18 17:45:09
举报
文章被收录于专栏:鱼皮客栈鱼皮客栈

在开发中,接口的性能(特别是耗时)优化是必不可少的,

而优化的前提是搞清楚是哪个步骤比较耗时。

统计耗时的方式有很多,比如使用 System时间戳,

示例代码如下:

代码语言:javascript
复制
/**
 * @author pine
 */
public class Main {
    public static void main(String[] args) throws Exception{
        // 任务1
        long start1 = System.currentTimeMillis();
        Thread.sleep(1000);
        long end1 = System.currentTimeMillis();

        // 任务2
        long start2 = System.currentTimeMillis();
        Thread.sleep(2000);
        long end2 = System.currentTimeMillis();

        // 打印出耗时
        System.out.println(end1 - start1);
        System.out.println(end2 - start2);

    }
}

当然也有现成的工具实现,比如 HutoolStopWatch

不仅操作方便,打印的结果也更加易读、美观。

示例代码如下:

代码语言:javascript
复制
import cn.hutool.core.date.StopWatch;
import cn.hutool.core.lang.Console;

/**
 * @author pine
 */
public class Main {
    public static void main(String[] args) throws Exception{
        StopWatch stopWatch = new StopWatch("任务名称");

        // 任务1
        stopWatch.start("任务一");
        Thread.sleep(1000);
        stopWatch.stop();

        // 任务2
        stopWatch.start("任务二");
        Thread.sleep(2000);
        stopWatch.stop();

        // 打印出耗时
        // StopWatch '任务名称': running time = 3010773584 ns
        // ---------------------------------------------
        // ns         %     Task name
        // ---------------------------------------------
        // 1005736375  33%   任务一
        // 2005037209  67%   任务二
        Console.log(stopWatch.prettyPrint());
    }
}

大家更喜欢哪种呢?欢迎投票并在评论区留下自己的看法。

完整代码片段来源于代码小抄,欢迎点击进入小程序阅读!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员鱼皮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档