我是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;
}
答案 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是常数,结果字节码会更小。