Java 我的代码和ApachePOI之间的内存和执行时间比较 我正在编写一个XLSX解析器。我的用例只是读取电子表格并将单元格值存储到某个对象结构中

Java 我的代码和ApachePOI之间的内存和执行时间比较 我正在编写一个XLSX解析器。我的用例只是读取电子表格并将单元格值存储到某个对象结构中,java,apache-poi,Java,Apache Poi,完成后,我想将代码的性能(内存和时间)与ApachePOI进行比较 为了进行时间比较,我考虑检查delta System.nanotime()。 我将在一个循环中多次解析xlsx,以确保执行时间以秒为单位,然后取平均值 我需要以下方面的帮助: 有没有更好的方法来比较执行时间 如何将代码的内存占用与Poi进行比较 有谁能提供一些信息/建议吗 有没有更好的方法来比较执行时间 在编写自己的微基准测试时,您应该考虑以下提示: 在阅读了这些信息之后,您应该明白,自己编写微基准并不是那么容易。这就是为什么有

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

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

我需要以下方面的帮助:

  • 有没有更好的方法来比较执行时间
  • 如何将代码的内存占用与Poi进行比较
  • 有谁能提供一些信息/建议吗

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

    在编写自己的微基准测试时,您应该考虑以下提示:

    在阅读了这些信息之后,您应该明白,自己编写微基准并不是那么容易。这就是为什么有微基准库可以像和一样简化这项工作

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

    我已经使用分析器来测量我开发的算法所使用的内存,但这可能不是您想要的。您可以使用的另一种方法是简单地计算
    runtime.totalMemory()-runtime.freemory()
    。您可以在此处找到有关如何获取测试内存占用的更多信息:

    您的XLSX解析器使用的是Apache POI还是完全不同,您希望根据POI的执行时间对代码进行基准测试?您使用的是Eclipse吗?@luigimendoza我正在通过普通sax解析器进行解析。不使用任何ApachePOI类。是的,我使用的是eclipse。重复这样做的问题是,随着代码的升温,速度应该会更快。在您的用例中,这是如何相对论的?您将加载多个文件,还是更大的文件?如果不使用
    POI
    亲自尝试,您的性能应该会有很大提高
    POI
    很好,但仅仅读取
    xlsx
    文件并不是最干净或最快的。如果你不需要解释公式,那就是。我不想再发明。。。谢谢你指出图书馆。它是在“阿尔法”通过。。。你认为这应该引起关注吗?@Hirak嗯,我已经使用了它,并帮助我对我的算法的性能进行了基准测试。我还使用了一个分析器来测量应用程序运行时所用的时间,结果是相似的,因此框架的工作情况与预期的一样好。Java中还有其他框架可以进行微基准测试,但我在编写答案时没有找到链接。谢谢。我会尝试一下。@Hirak通过提供另一个微基准测试框架更新了答案。