gpt4 book ai didi

java - JNA 与 POI 理论性能对比

转载 作者:行者123 更新时间:2023-12-02 09:46:03 29 4
gpt4 key购买 nike

假设很少有人在性能方面对 JNA 和 Apache POI 进行基准测试,理论上 JNA 和 Apache POI 在性能方面会更优越吗?

仅研究 MS Excel 解析和/或构建。我已经 fork 了 JNA 项目并一直在使用它,但 POI 似乎更多地与 Excel 一起使用,并且我很好奇从理论上讲,两者是否具有性能优势。

如果有人有这两种经验或基准测试,那就更好了。我自己也可以在某个时候尝试一下。

最佳答案

理论上,使用 JNA 直接实现 C API 函数可以获得更快的性能。

请注意,我指的是直接 C API 实现,而不是使用现有的基于 COM 的实现。

为了提高理论上的性能,您必须自己实现这些 C 函数。 Java 到 Native 层会产生少量处理开销,但如果您可以设计代码以最大程度地减少 Java/Native 调用,则您可能可以创建更适合特定任务的代码。

JNA 中现有的 Excel 实现是:

  • 仅限 Windows
  • 用户贡献的实现,不是核心 JNA 的一部分
  • 依赖于COM层,比直接的C API慢,可能比POI慢
  • 最近没有更新,这表明它不如正在持续开发的 Apache Poi 优化

因此,从理论上讲,您平均而言,可能在大多数情况下,使用 Apache POI 会比现有的基于 JNA COM 的代码获得更好的性能。您还将获得跨平台、经过更广泛测试、实现和优化的库的优势。

理论上,通过 JNA 直接实现 C 函数,您可以在特定平台上的特定任务中获得更好的性能。

关于java - JNA 与 POI 理论性能对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56653405/

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