【问题标题】:Testing Performance of a Java method [closed]测试Java方法的性能[关闭]
【发布时间】:2012-09-23 19:47:16
【问题描述】:

我有一个 Java 程序,它的方法接受 2 个字符串并检查它们是否是彼此的字谜。

我相信有不止一种方法可以确定 2 个字符串是否是字谜 -

logic - 1 : 对字符串进行排序并检查它们是否相等 逻辑 - 2 : 检查字符串的频率

还有很多其他方法。

一天结束时,我们可以有多个方法 [每个方法都有不同的逻辑] 获取 2 个字符串并检查它们是否是字谜。

检查这些方法的性能并确定乐观的方法有哪些不同的方法?

有什么想法吗?

【问题讨论】:

  • 到目前为止你尝试过什么?您是否实现了一些可能性并比较了它们的性能?请阅读 FAQHow to Ask 以获取有关如何针对 SO 提出适当问题的指示。
  • 另外,你问了 70 个问题,只接受了 36 个答案……你没有收到其他 34 个问题的答案吗?
  • @Jim:感谢您向我指出常见问题解答 :-) 我绝对相信这个问题与算法有关,因此您甚至可以采用这种方式!
  • @Jim:我知道我还没有解决至少一半的问题,因为其中一些问题没有得到具体的答案。但这早就到期了。我正在关闭一些....谢谢
  • 我真的不确定 [也许有人可以帮助我理解!] 当只有一个人能够提供一个共同的答案时,这个问题是如何归类为辩论/争论/扩展讨论的。 Java 性能测试是团队日夜工作以跟上的事情。在上下文中,我只是在询问执行这段代码的方法!

标签: java performance performance-testing


【解决方案1】:

你可以得到

  • 了解所用算法的时间复杂度。
  • 在代码预热后测量不同长度字符串所用的时间。

对字符串进行排序是 O(n * ln(n)) 和 O(n) 空间。每个字符使用一个计数器是 O(n) 时间和 O(m) 空间(其中 m 是字符范围)。我想在任何实际程序中哪个更快不太重要,但我认为这是一个练习。

【讨论】:

    猜你喜欢
    • 2012-12-31
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多