【问题标题】:Measuring third party software speed\execution time测量第三方软件速度\执行时间
【发布时间】:2013-03-10 18:57:48
【问题描述】:

我编写了一个执行算法的函数。我已经完成了 4 种不同的类型,并且比较它们的执行时间(在 java 中)没有问题。但是,我想将我的算法与三个现有的第三方实现进行比较。当然,由于它们是闭源的,这并不完全可能。然而,我的应用程序有一个带有按钮的 gui 来显示命令,然后是一个带有结果的弹出窗口。 (尽管这些不是算法的一部分,但出于我的目的,比较从单击执行\运行到结果显示在屏幕上的时间就足够了。)

我只是想知道比较这些不同方法的速度的最佳做法。我必须做点什么,所以如果我想不出什么我想我会使用秒表,但是,更复杂的方法显然更可取。

【问题讨论】:

  • endTime-startTime更复杂?我不认为有一个
  • 感谢您的建议-我可以将它用于我的功能,但与第三方的比较时不能,因为我无法访问他们的源代码,也无法从我的代码。我只是将第三方作为最终用户进行测试。
  • 不能反编译库,用反射调用算法的方法吗?

标签: java windows performance time


【解决方案1】:

您可以记录调用第三方方法的时间,并显示当前时间与记录时间的差异。这将为您提供几乎准确的时间。
您可以使用System.currentTimeMillis(),如下所示:

long start=System.currentTimeMillis();
//Call the thrd prty method
syso("Time taken:"+(System.currentTimeMillis()-start));

【讨论】:

  • 感谢您的建议,但是,我无法访问这些方法。作为最终用户,我只需使用第三方应用程序对其进行测试。
  • 秒表的方式似乎有点粗略——我认为即使在第三方应用程序中弹出新窗口时,窗口也可能有某种计时方式。
猜你喜欢
  • 1970-01-01
  • 2012-11-11
  • 2014-11-30
  • 2013-04-15
  • 2012-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多