는 램
source code ¶
¶
~cpp #include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char * argv[]) { FILE * fileHandle; int i, request; time_t start, end; if (argc != 3) { fprintf(stderr, "Usage : %s [length of dummy file] [dummy file name]", argv[0]); exit(1); } request = atoi(argv[1]); fileHandle = fopen(argv[2], "wb"); if (!fileHandle) { fprintf(stderr, "File open error occured."); exit(1); } start = clock(); for (i = 0; i < request; i++) fputc('\0', fileHandle); end = clock(); printf("\n%f\n", (double)(end - start) / CLK_TCK); fclose(fileHandle); return 0; }
. 1.1? ¶
~cpp #include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char * argv[]) { int divTable[6]; FILE * fileHandle; unsigned long request, extractMask; int i, j, fragSize; time_t start, end; char * frag; if (argc != 3) { fprintf(stderr, "Usage : %s [length of dummy file] [dummy file name]", argv[0]); exit(1); } request = atoi(argv[1]); fileHandle = fopen(argv[2], "wb"); if (!fileHandle) { fprintf(stderr, "File open error occured."); exit(1); } start = clock(); for (i = 0, extractMask = 0x0000000F; i < 6; i++, extractMask <<= 4) divTable[i] = (request & extractMask) >> (i * 4); for (i = 0; i < 6; i++) if (divTable[i]) { fragSize = 0x00000001 << (i * 4); frag = (char *)malloc(fragSize); if (!frag) { fprintf(stderr, "memory allocation error occured."); fclose(fileHandle); exit(1); } memset(frag, 0, fragSize); for (j = 0; j < divTable[i]; j++) fwrite(frag, sizeof(char), fragSize, fileHandle); free(frag); } end = clock(); printf("\n%f\n", (double)(end - start) / CLK_TCK); fclose(fileHandle); return 0; }