代码实验室--log耗时分析

前言

开发过程中在代码加入合理日志记录是非常重要的,经常会在代码中看见循环语句里面出现日志记录。


问题

在循坏中加入日志是否合理?
如果在导入百万级数据或者亿级数据是否会对性能产生影响呢?
如果有兴趣了解,不妨我们一起进入代码实验室来看一看


案列

/**
 * log日志耗时顺带System.out.println
 *
 * @author 熊猫程序猿
 * @date 2020年1月16日
 */
@Slf4j
public class Demo {

    public static void main(String[] args) {
        int count = 1_0000;
        long a = System.currentTimeMillis();
        a(count);
        a = System.currentTimeMillis() - a;

        long b = System.currentTimeMillis();
        b(count);
        b = System.currentTimeMillis() - b;

        long c = System.currentTimeMillis();
        c(count);
        c = System.currentTimeMillis() - c;

        System.out.println("循坏耗时:" + a);
        System.out.println("log循坏耗时:" + b);
        System.out.println("out循坏耗时:" + c);
    }

    private static void a(int count) {
        ArrayList list = Lists.newArrayList();
        for (int i = 0; i < count; i++) {
            list.add(i);
        }
    }

    private static void b(int count) {
        ArrayList list = Lists.newArrayList();
        for (int i = 0; i < count; i++) {
            list.add(i);
            log.info(list.size() + "");
        }
    }

    private static void c(int count) {
        ArrayList list = Lists.newArrayList();
        for (int i = 0; i < count; i++) {
            list.add(i);
            System.out.println(list.size());
        }
    }
}

分析

1万循坏:

1万循坏
十万循环:
十万循环
百万循环:
百万循环
千万循环:
千万循环
一亿循环:
一亿循环

总结

循环次数 循环耗时 log循环耗时 out循环耗时
1万 5 76 52
十万 13 923 477
百万 40 4602 3269
千万 3001 26828 29777
一亿 41742 355691 356253

由上可得:
应该尽量避免在循坏中打印日志。

先赞后看,养成习惯,欢迎收看一个行走的熊猫程序猿,下期再见
关注

发布了16 篇原创文章 · 获赞 18 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_35764295/article/details/104009207
今日推荐