我的代码和apache poi之间的内存和执行时间比较

时间:2014-05-15 15:30:44

标签: java apache-poi

我正在编写XLSX解析器。我的用例只是读取电子表格并将单元格值存储到某个对象结构中。

完成后,我想将我的代码的性能(内存和时间)与Apache Poi的性能进行比较。

为了进行时间比较,我正在考虑检查delta System.nanotime()。 我将在循环中多次解析xlsx,以确保执行时间大约为秒,然后是平均值。

我需要以下方面的帮助:

  1. 有没有更好的方法来比较执行时间?
  2. 如何将代码的内存占用量与Poi进行比较?
  3. 有人可以帮忙提供一些信息/建议吗?

1 个答案:

答案 0 :(得分:2)

  

有没有更好的方法来比较执行时间?

在编写自己的微观基准时,您应该考虑这里解释的提示:How do I write a correct micro-benchmark in Java?

阅读完该信息之后,你应该明白,那么简单可以自己编写微基准。这就是为什么有微型基准库可以简化这项工作,例如JUnitBenchmarksCaliper

  

如何将代码的内存占用量与Poi进行比较?

我使用了分析器来测量我开发的算法所使用的内存,但可能并非你正在寻找的内容。您可以使用的另一种方法是简单地计算runtime.totalMemory() - runtime.freeMemory()。您可以在此处找到有关如何获取测试的内存占用的更多信息: Java unit testing: how to measure memory footprint for method call