Gcj binaries performance (arm-linux)
ffileppo
ffileppo@libero.it
Mon Apr 28 14:55:00 GMT 2008
> > I'm quite surprised of this result, I thought that a binary compiled with gcj would be much faster than a java virtual machine.
>
> So would I.
>
> > I've also tried to pass some options (e.g. -march=, -mtune, -mcpu...) when compiling with gcj but results are not changing.
> >
> > Any idea to improve performance?
>
> Without seeing your code, it's impossible to say. I don't want
> to speculate.
>
> Andrew.
>
Hi Andrew,
thanks for your interest. Here is the code:
public final class MyPanel {
private static final int NUM_ELEMENTS = 1000;
public static final int NUM_LOOP = 100;
public MyPanel(){}
public static void main(String args[]) {
MyPanel mp = new MyPanel();
mp.sortArray();
}
private void sortArray() {
System.out.println("Test \"Bubble Sort\" (Num loop: " + NUM_LOOP + ")");
int[] array = new int[NUM_ELEMENTS];
int l = 0, i = 0;
long sysTime = System.currentTimeMillis();
for (l = 0; l < NUM_LOOP; l++) {
for (i = 0; i < NUM_ELEMENTS; i++) {
array[i] = NUM_ELEMENTS - i;
}
BubbleSort(array, NUM_ELEMENTS);
if(l == 0)
System.out.println("First loop time: " + (System.currentTimeMillis() - sysTime));
}
System.out.println("Total time elapsed: " + (System.currentTimeMillis() - sysTime));
}
private void BubbleSort(int array[], int elemN) {
int i, tmp;
int alto = elemN;
while (alto > 0) {
for (i = 0; i < alto - 1; i++) {
if (array[i] > array[i + 1]) {
tmp = array[i];
array[i] = array[i + 1];
array[i + 1] = tmp;
}
}
alto--;
}
}
}
More information about the Java
mailing list