gpt4 book ai didi

java - 我如何从理论上计算某些方法的执行时间?

转载 作者:搜寻专家 更新时间:2023-11-01 01:47:15 25 4
gpt4 key购买 nike

假设我有一个复杂时间为 O(nlogn) 的“堆排序”方法。当我在 1000000 个输入上测量此方法的执行时间时,我得到了 0.375770669 秒。如何从理论上计算该方法的执行时间?

最佳答案

理论上无法计算。这取决于许多因素,例如:

  • Java 版本和主要/次要/补丁版本号。
  • 各种 JVM 调整参数;例如堆有多大。
  • 您的硬件平台; CPU、内存大小,甚至主板和时钟速度。
  • 机器上的负载;即它还在做什么。
  • CPU 散热器上的绒毛数量。说真的……如果处理器芯片过热,时钟速度可能会降低,而且主板振荡器时钟速度对温度也(有点)敏感。

即使您知道所有这些,计算本质上也是对 Java JIT 编译器和硬件执行的取证模拟。考虑起来太复杂了。

就“速度”的理论测量而言,您可以合理期望达到的最佳效果是计算源代码级别的抽象操作。甚至向下钻取和计算执行的字节码也可能太困难而不实用。

I want to compare between the measured one and the theoretical one.

基本上,你不能。

关于java - 我如何从理论上计算某些方法的执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com