Commit 6bc69d7 1 parent 41e37e3 commit 6bc69d7 Copy full SHA for 6bc69d7
File tree 2 files changed +21
-8
lines changed
2 files changed +21
-8
lines changed Original file line number Diff line number Diff line change 6
6
7
7
8
8
#define MAX_SIZE 512
9
- #define ARRAY_LENGTH (4096 * 1024 * 2 )
9
+ #define ARRAY_LENGTH (4096 * 1024)
10
10
void * objects [ARRAY_LENGTH ];
11
11
12
12
extern void alaska_dump (void );
13
13
14
14
15
15
int main () {
16
- for (int run = 0 ; run < 25 ; run ++ ) {
16
+ for (int run = 0 ; run < 5000 ; run ++ ) {
17
17
printf ("Allocate...\n" );
18
18
unsigned int seed = 0 ;
19
19
20
20
21
21
#pragma omp parallel for shared(objects) private(seed)
22
22
for (int i = 0 ; i < ARRAY_LENGTH ; i ++ ) {
23
- objects [i ] = malloc (rand_r (& seed ) % MAX_SIZE );
24
- // objects[i] = malloc(256 );
23
+ // objects[i] = malloc(rand_r(&seed) % MAX_SIZE);
24
+ objects [i ] = malloc (32 );
25
25
}
26
26
27
- // alaska_dump();
27
+ alaska_dump ();
28
28
29
29
printf ("Free...\n" );
30
30
#pragma omp parallel for shared(objects)
@@ -35,6 +35,8 @@ int main() {
35
35
36
36
37
37
memset (objects , 0 , sizeof (objects ));
38
+
39
+ alaska_dump ();
38
40
}
39
41
40
42
return 0 ;
Original file line number Diff line number Diff line change @@ -20,20 +20,31 @@ node_t *make_tree(int depth) {
20
20
}
21
21
22
22
23
+ void free_tree (node_t * n ) {
24
+ if (n == NULL ) return ;
25
+
26
+ free_tree (n -> left );
27
+ free_tree (n -> right );
28
+ free (n );
29
+ }
30
+
31
+
23
32
int tree_count_nodes (node_t * n ) {
24
33
if (n == NULL ) return 0 ;
25
34
return 1 + tree_count_nodes (n -> left ) + tree_count_nodes (n -> right );
26
35
}
27
36
28
37
int main () {
29
- node_t * n = make_tree (23 );
30
38
31
39
32
40
while (1 ) {
41
+ node_t * n = make_tree (23 );
42
+ int c = 0 ;
33
43
for (int i = 0 ; i < 512 ; i ++ ) {
34
- int c = tree_count_nodes (n );
44
+ c + = tree_count_nodes (n );
35
45
}
36
- // printf("Node count: %d\n", c);
46
+ printf ("Node count: %d\n" , c );
47
+ free_tree (n );
37
48
}
38
49
39
50
return EXIT_SUCCESS ;
You can’t perform that action at this time.
0 commit comments