Я реализовал два алгоритма на Java.Показатели производительности: Java vs JavaCard
Чтобы сравнить их эффективность, я вызываю каждую функцию 1000 раз и сравниваю время выполнения (используя System.currentTimeMillis()
).
Для выполнения первого требуется 2500 мс, а для второго - 1300 мс.
С этими результатами я подумал о значительном различии (в терминах времени выполнения) в JavaCard.
Но если я загружаю 2 апплеты на более JavaCard, которые соответствуют функциям, описанным, первый из которых занимает 2000 мс, а вторая 1750 мс ...
Как объяснить, что в Java, это выглядит почти В 2 раза быстрее, но не в JavaCard? Я обратил внимание, что я не пишу в EEPROM, а в ОЗУ, поэтому он не может быть источником проблемы.
Есть ли у вас аргументы, объясняющие это явление? Заранее спасибо.
Обязательный комментарий «Как написать правильный микро-тест в Java?» http://stackoverflow.com/questions/504103/how-do-i-write-a-correct-micro-benchmark-in-java – reto
Java и JavaCard - это две совершенно разные технологии - они имеют только подмножество синтаксиса, что это все. Просто слово «JavaCard» может немного ввести в заблуждение ... Я думаю, вы не должны искать какую-либо связь между Java и JavaCard. – vojta
Покажите мне код алгоритма, пожалуйста. – JavaCardOS