์ง์ ํ ํฌ๊ธฐ์ ํ์ผ์ ์์ฑํ๋ ํ๋ก๊ทธ๋จ
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; }
12389523 ๋ฐ์ดํธ์ ์ฐ๋ ๊ธฐ ํ์ผ์ ๊ฐ๊ฐ ์์ฑํ๋๋ฐ ์ฒ์์ ์ง ํ์ ๋ฒ์ ๊ณผ ๋๋ฒ์งธ์ ์ฝ๊ฐ ๊ฐ์ ๋ฒ์ ์ด ๊ฐ๊ฐ 0.991์ด์ 0.37์ด๋ฅผ ๊ธฐ๋กํ๋ค. ๋๋ฒ์งธ ๊ฒ์ ๋ง๋ค๋ฉด์.. ํจ์ํ ๊ฐ์ ๊ฑฐ๋ ์ข ํ์ผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ๋ ๋ฌด๋ญ๋ฌด๋ญ ๋ฌด๋ญ ๋ค์์ผ๋.. ๊ทธ๋์ ๊ท์ฐฎ์์ด ๋ญ์ง ; ์๋ฌดํผ ๋ฐ์ ์ด ์๋ ๋๋ก๊ตฐ.
zennith