Java卡的性能问题

时间:2014-06-27 15:30:29

标签: performance smartcard javacard

我是Java卡技术的新手,我也不知道java卡上的正常执行时间是多少。我知道它在Java卡上会很慢,因为它应该只处理简单的东西。

虽然我承认,我真的很奇怪一段代码的执行时间,下面的代码运行时间只有1300毫秒,这是正常的吗?

我在smartc @ fe卡3.2中执行此操作,该卡具有13 Mhz的处理器,不到2KB的RAM和72KB的EEPROM。

如果可能,您还可以使用可用的卡进行测试吗?如果是这样,请回复并说明卡片的规格。

private static short benchmark()
{
   short v, n, x, y;
   short x_size, y_size;

   v = 0;
   n = 128;
   x_size = 100;
   y_size = 100;
   for (x = 0; x < x_size; x++)
     for (y = 0; y < y_size; y++)
       v = (short) ~((v + n) & 0xFF);
   return v;
}

2 个答案:

答案 0 :(得分:2)

在一些非常新的JCOP卡上运行你的代码需要731 ms,所以这似乎是有效的

答案 1 :(得分:0)

我在JCOP 2.4.1卡上运行它,我有650毫秒的卡处理时间。 卡上的操作系统或硬件都很慢。

使其更快的一个想法是使用一个for循环而不是两个循环,因为你没有使用x和y。

您也可以替换v = (short) ~((v + n) & 0xFF);v = (short) ~((v + (short)128) & 0xFF);

因为n是常数,结果字节码会更小。