【发布时间】:2015-05-26 12:09:29
【问题描述】:
我用 Java 实现了两种算法。
为了比较它们的有效性,我调用每个函数 1000 次并比较执行时间(使用System.currentTimeMillis())。
执行第一个需要 2500 毫秒,第二个需要 1300 毫秒。
有了这些结果,我认为 JavaCard 有显着差异(就执行时间而言)。
但是如果我在 JavaCard 上加载 2 个小程序,它们对应于所描述的功能,第一个需要 2000 毫秒,第二个需要 1750 毫秒...
如何解释在 Java 中,它看起来快了将近 2 倍,但在 JavaCard 中却没有? 我注意到我不是在 EEPROM 中写入,而是在 RAM 中写入,所以它不会是问题的根源。
你有什么论据来解释这种现象吗?提前谢谢你。
【问题讨论】:
-
强制注释“如何在 Java 中编写正确的微基准测试?” stackoverflow.com/questions/504103/…
-
Java 和 JavaCard 是两种完全不同的技术——它们只共享一部分语法,仅此而已。只是“JavaCard”这个词可能有点误导......我认为你不应该寻找 Java 和 JavaCard 之间的任何联系。
-
请给我算法代码。
标签: java performance time smartcard javacard