Compile speed information

Richard B. Johnson (root@chaos.analogic.com)
Mon, 25 May 1998 21:20:20 -0400 (EDT)


Information:

I have three machines that now have the same peripherals.
They all have the BusLogic Adapter, and all have the Linux source
on a Quantum Model XP32150W. They also have 128 megabytes of memory
in each machine.

These are the times necessary to compile the kernel (without -j).
make clean (not timed)
make bzImage &>World.Log & (timed)

(1) Pentium, single CPU 166 MHz = 733 seconds.
(2) Pentium, dual CPU, SMP 166 MHz = 600 seconds.
(3) Pentium II (Klamath), dual CPU, SMP 266 MHz = 360 seconds.

Each of the machines has enough memory (128 MB) so the swap-file
is never used.

As a comparison, my '486 DX/66 machine at home makes 2140 seconds to
compile the same kernel. It has slower disk drives so the comparison
is not very valid.

The following program is used to time the operation.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

int main(int cnt, char *argv[])
{
char commands[0x1000]; /* Yes you could seg-fault */
time_t start, stop;
int status, i;
if(cnt < 2)
{
fprintf(stderr, "Usage:\n");
fprintf(stderr, "%s [commands...]\n", argv[0]);
exit(EXIT_FAILURE);
}
memset(commands, 0x00, sizeof(commands));
for(i=1; i< cnt; i++)
{
strcat(commands, argv[i]);
strcat(commands, " ");
}
(void)time(&start);
status = system(commands);
(void)time(&stop);
fprintf(stdout, "Time = %0.0f second(s).\n", difftime(stop, start));
return status;
}

I found that using make -j (with any fixed number of jobs), slows down
the operation.

Cheers,
Dick Johnson
***** FILE SYSTEM MODIFIED *****
Penguin : Linux version 2.1.103 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu