heapify和非heapify的效率问题

来源:8-5 Heapify 和 Replace

慕运维041575

2019-03-03

老师,8-5小结最后比较heapify和非heapify的效率时,我这边得到的结果如下图:虽然也证实了heapify的效率更高,但第一次运行的时间和后面几次的出入好大,而且heapify和非heapify耗时差别也没有那么大,请问这是为什么?(使用的 JDK1.7)
图片描述

写回答

1回答

liuyubobobo

2019-03-04

正常的。在现代计算机上测试的性能本身已经远远不是逻辑本身的性能了,运行系统的上的优化,编译器的优化,解释器的优化吗,包括操作系统的运行状态等,都会影响性能。


对于Java语言来,JVM本身就是一个重要的影响性能的参数。Java代码是运行在JVM上的,不同版本的JVM,底层会有不同的优化,不同的缓存机制,不同的执行调用过程,都会影响这个结果:)


如果你希望看到更纯粹的逻辑性能,而更多的忽略这些影响:汇编语言 优于 C/C++ 优于 Java(或者其他编译型语言) 优于 其他解释性语言语言(JS, Python, 等等)


继续加油!:)

0
1
慕运维041575
好详细的解答,答复速度也好赞,谢谢老师!
2019-03-04
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程