3 void print(const char *text
);
7 char buf
[10], *p
= buf
;
26 for (i
= 0; i
< (p
- buf
) / 2; ++i
) {
39 int sieve(char* data
, int size
)
43 for (i
= 0; i
< size
; ++i
)
46 data
[0] = data
[1] = 0;
48 for (i
= 2; i
< size
; ++i
)
51 for (j
= i
*2; j
< size
; j
+= i
)
57 void test_sieve(const char *msg
, char *data
, int size
)
63 r
= sieve(data
, size
);
68 #define STATIC_SIZE 1000000
69 #define VSIZE 100000000
70 char static_data
[STATIC_SIZE
];
77 print("starting sieve\n");
78 test_sieve("static", static_data
, STATIC_SIZE
);
81 test_sieve("mapped", static_data
, STATIC_SIZE
);
82 for (i
= 0; i
< 30; ++i
) {
84 test_sieve("virtual", v
, VSIZE
);