#include #include #define NLIVE 1000000 #define NITERS (3*1000*1000) char* arr[NLIVE]; int main ( int argc, char* argv[] ) { int i, j, nbytes = 0; int pdb = 0; int jpdb; if (argc > 1) { pdb = atoi(argv[1]); } printf("initialising\n"); for (i = 0; i < NLIVE; i++) arr[i] = NULL; printf("running\n"); j = -1; for (i = 0; i < NITERS; i++) { j++; if (j == NLIVE) j = 0; if (arr[j]) free(arr[j]); arr[j] = malloc(nbytes); if (pdb > 0) { // create some partially defined bytes in arr[j] for (jpdb=0; jpdb 32) nbytes = 0; } for (i = 0; i < NLIVE; i++) if (arr[i]) free(arr[i]); printf("done\n"); return 0; }