Re: A very slow program
Paul <[email protected]> Mon, 16 Sep 2024 01:22:09 -0400
| Newsgroups | alt.comp.lang.c,comp.lang.c |
|---|---|
| Organization | A noiseless patient Spider |
| Message-ID | <[email protected]> |
On Sun, 9/15/2024 6:45 PM, Student Project wrote:
> #include <time.h>
> #include <stdio.h>
>
> #define RUNS 1000
> #define SIZE 1000000
>
> int mark[SIZE];
>
> int main(void)
> {
> time_t start, finish;
> int i, loop, n, num;
>
> time(&start);
>
> /* This loop finds the prime numbers between 2 and SIZE */
> for (loop = 0; loop < RUNS; ++loop)
> {
> for (n = 0; n < SIZE; ++n)
> mark[n] = 0;
> /* This loops marks all the composite numbers with -1 */
> for (num = 0, n = 2; n < SIZE; ++n)
> if (!mark[n])
> {
> for (i = 2 * n; i < SIZE; i += n)
> mark[i] = -1;
> ++num;
> }
> }
> time(&finish);
> printf("Program takes an average of %f seconds "
> "to find %d primes.\n",
> difftime(finish, start) / RUNS, num);
> }
> /*
> The result on my slow machine:
> Program takes an average of 0.018000 seconds to find 78498 primes.
> */
>
Good prime code, comes with its own timing routines :-)
http://cr.yp.to/primegen.html
http://cr.yp.to/primegen/primegen-0.97.tar.gz
Paul