Fiquei com vontade e tmb fiz o teste!
Codigo JAVA
public class Teste{
private static final int SIZE = 1000000;
public static void main(String args[]){
int array[] = new int[SIZE];
for (int i = 0; i < SIZE; i++){
array[i] = i % 100;
}
quicksort(0, SIZE - 1, array);
}
public static void quicksort(int p, int q, int array[]){
if (p < q){
int j = p - 1;
int aux = array[q];
for (int i = p; i <= q; i++){
if (array[i] <= aux){
int taux = array[i];
array[i] = array[++j];
array[j] = taux;
}
}
quicksort(p, j - 1, array);
quicksort(j + 1, q, array);
}
}
}
Codigo C
#define SIZE 1000000
void quicksort(int p, int q, int array[]);
int main(){
int array[SIZE], i;
for (i = 0; i < SIZE; i++){
array[i] = i % 100;
}
quicksort(0, SIZE - 1, array);
}
void quicksort(int p, int q, int array[]){
int j, aux, i, taux;
if (p < q){
j = p - 1;
aux = array[q];
for (i = p; i <= q; i++){
if (array[i] <= aux){
taux = array[i];
array[i] = array[++j];
array[j] = taux;
}
}
quicksort(p, j - 1, array);
quicksort(j + 1, q, array);
}
}
Info do sistema:
[quote][22:08][sparch@blue:teste]$ uname -a
SunOS blue 5.10 s10_72 i86pc i386 i86pc
CPU: Athlon XP 2800+
RAM: 768Mb[/quote]
[quote][22:12][sparch@blue:teste]$ java -version
java version “1.5.0_01”
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_01-b05)
Java HotSpot™ Client VM (build 1.5.0_01-b05, mixed mode, sharing)[/quote]
[quote][22:14][sparch@blue:teste]$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/specs
Configured with: …/configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls
Thread model: posix
gcc version 3.3.2[/quote]
Resultados
Java: sem -server obs: os paremetros sao somente para utilizacao da memoria porque estava dando StackOverflow…
[code][22:15][sparch@blue:teste]$ time java -Xms16m -Xmx384m -Xss2m Teste
real 0m48.410s
user 0m45.526s
sys 0m0.088s
[/code]
Java: com -server
[code][22:16][sparch@blue:teste]$ time java -Xms16m -Xmx384m -Xss2m -server Teste
real 0m26.478s
user 0m24.054s
sys 0m0.092s[/code]
C: sem flags de otimizacao
[code][22:18][sparch@blue:teste]$ time ./teste
real 1m32.869s
user 1m28.087s
sys 0m0.038s[/code]
C: com flags de otimizacao (-O3)
[code][22:22][sparch@blue:teste]$ time ./teste
real 0m10.819s
user 0m10.223s
sys 0m0.016s[/code]
E agora Joseh?