1 // When we cull and compute the new minimum time between snapshots, we want 2 // to ignore any gap between two uncullable snapshots, because it is not 3 // representative. This program tests that. 4 5 6 #include <stdlib.h> 7 8 int main(void) 9 { 10 int i; 11 12 // The peak is from the first allocation. 13 int* x = malloc(1024); 14 free(x); 15 16 // Now do an allocation to provide the post-peak baseline. 17 malloc(512); 18 19 // Now we do lots of allocations below the peak. With the proper 20 // handling, the allocations should still be smoothly distributed. 21 // Without it, the snapshots in the second half of the graph would be 22 // clustered much more closely than those in the first half. 23 // 24 25 for (i = 0; i < 350; i++) { 26 int* y = malloc(256); 27 free(y); 28 } 29 30 return 0; 31 } 32