summaryrefslogtreecommitdiff
path: root/print/ghostscript-afpl/files/patch-ac
blob: 319922485be0daf7be3d0085929f51c071a70944 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
begin patches/patch-ac:
This patch removes the  code that tries to figure out  the cache size of
the host. The  algorithm may very well fail under  some circumstances --
it  makes too  many  assumptions  about the  cache  behaviour, but  most
importantly,  the  figured out  values  ARE  NOT  USED anywhere  in  the
ghostscript code anymore.

	-mi

--- src/genarch.c	Thu Mar  9 03:40:41 2000
+++ src/genarch.c	Wed Jul 19 09:37:30 2000
@@ -43,11 +42,0 @@
-private clock_t
-time_clear(char *buf, int bsize, int nreps)
-{
-    clock_t t = clock();
-    int i;
-
-    for (i = 0; i < nreps; ++i)
-	memset(buf, 0, bsize);
-    return clock() - t;
-}
-
@@ -181,63 +170,2 @@
 #undef PRINT_MAX
-
-    section(f, "Cache sizes");
-
-    /*
-     * Determine the primary and secondary cache sizes by looking for a
-     * non-linearity in the time required to fill blocks with memset.
-     */
-    {
-#define MAX_BLOCK (1 << 20)
-	static char buf[MAX_BLOCK];
-	int bsize = 1 << 10;
-	int nreps = 1;
-	clock_t t = 0;
-	clock_t t_eps;
-
-	/*
-	 * Increase the number of repetitions until the time is
-	 * long enough to exceed the likely uncertainty.
-	 */
-
-	while ((t = time_clear(buf, bsize, nreps)) == 0)
-	    nreps <<= 1;
-	t_eps = t;
-	while ((t = time_clear(buf, bsize, nreps)) < t_eps * 10)
-	    nreps <<= 1;
-
-	/*
-	 * Increase the block size until the time jumps non-linearly.
-	 */
-	for (; bsize <= MAX_BLOCK;) {
-	    clock_t dt = time_clear(buf, bsize, nreps);
-
-	    if (dt > t + (t >> 1)) {
-		t = dt;
-		break;
-	    }
-	    bsize <<= 1;
-	    nreps >>= 1;
-	    if (nreps == 0)
-		nreps = 1, t <<= 1;
-	}
-	define_int(f, "ARCH_CACHE1_SIZE", bsize >> 1);
-	/*
-	 * Do the same thing a second time for the secondary cache.
-	 */
-	if (nreps > 1)
-	    nreps >>= 1, t >>= 1;
-	for (; bsize <= MAX_BLOCK;) {
-	    clock_t dt = time_clear(buf, bsize, nreps);
-
-	    if (dt > t * 1.25) {
-		t = dt;
-		break;
-	    }
-	    bsize <<= 1;
-	    nreps >>= 1;
-	    if (nreps == 0)
-		nreps = 1, t <<= 1;
-	}
-	define_int(f, "ARCH_CACHE2_SIZE", bsize >> 1);
-    }