Я хочу измерить скорость выполнения моего метода во время выполнения, но я не уверен, действительно ли то, что я сделал, измеряет производительность моего метода, который я хочу, или делает что-то еще. Если он измеряет скорость работы моего метода, чем то, насколько он надежен. Метод, который я хочу измерить быстродействием, называется FFMulFast, и он вычисляет умножение двух полиномов, составляющих Поля Галуа (256). Примечание: я представлю только код, который имеет отношение к моему вопросу.
public class GaloaField {
// some fields here
public int FFMulFast(int a, int b){
int t = 0;;
if (a == 0 || b == 0)
return 0;
/* The multiplication is done by using lookup tables. We have used both logarithmic and exponential table for mul
* the idea is firstly look to Logarithmic table then add their powers and find the corresponding of this to exponential table */
t = (Log[(a & 0xff)] & 0xff) + (Log[(b & 0xff)] & 0xff);
if (t > 255) t = t - 255;
return Exp[(t & 0xff)];
}
//some other methods here
public void runABunch() { //method which will measure the performance speed of FFMulFast
long start = System.nanoTime();
int a=0x56;
int b=0xf4;
for (int i = 0; i < 5000000; i++)
FFMulFast(a,b);
long end = System.nanoTime();
System.out.println("Time: " + (end-start));
}
public static void main (String [] args) {
GaloaField galoa=new GaloaField();
galoa.runABunch();
}