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);