关于代码运行速度与cpu关系的一点小事

课堂上跑完同一段代码,同学之间的运行时间差异很大,很难有机会将不同型号的cpu放在一起直观的通过代码的运行时间进行比较,而这次无意间比较的结果也确实出乎我的意料。

参与对比的cpu:

Intel(R) Core(TM) i5-1135G7 @ 2.40GHz 

Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz 

Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz 

Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz 

Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz 

Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 

测试使用编译器:

       IntelliJ IDEA2021      

测试用代码:

public class Test {
    public static void main(String[] args) {
        StringBuilder builder = new StringBuilder("");
        long start = System.currentTimeMillis();
        for (int i = 0; i < 30000; i++) {
            builder.append(i);
        }
        long end = System.currentTimeMillis();
        System.out.println("builder共耗时毫秒:" + (end - start));

        System.out.println("---------------------------------");

        String str = "";
        long start1 = System.currentTimeMillis();
        for (int i = 0; i < 30000; i++) {
            str += i ;
        }
        long end1 = System.currentTimeMillis();
        System.out.println("str共耗时毫秒:" + (end1 - start1));
    }
}
参与对比的cpu

cpu型号

Intel(R) Core(TM)

综和排名

(数据来源:cup7网站)

str耗时

单位:毫秒

builder耗时

单位:毫秒

cpu核心代号

i7-10870H CPU @ 2.20GHz315top13611last13Comet Lake-S
 i7-9750H CPU @ 2.60GHz466340top13Coffee Lake-H Refresh
 i5-1135G7 @ 2.40GHz52523003Tiger Lake
 i7-10510U CPU @ 1.80GHz7847313Comet Lake
 i5-8265U CPU @ 1.60GHz8833545(3-7之间波动)Whiskey Lake
i5-8250U CPU @ 1.60GHz904last163210Kaby Lake Refresh

统计结果如上表,新一代cpu的str加运算表现对比老一代着实离谱,同学们甚至怀疑用8代i5的同学作弊,但多名使用8代i5-8265u的同学都能印证str加运算的耗时确实在340-600间波动,以上测试都是在多次运行后取的代表值。

通常的说法是运行速度与电脑的整体性能有关,但新的cpu总归比旧的要有优势,这其中的缘由还需要深入了解才能有发现,初步猜测是与核心架构有关,未完待续。

一个思路

(10 封私信) 英特尔11代i5-1135G7有那么拉胯不堪吗? - 知乎 (zhihu.com)

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值