Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- measuring_the_print_speed_of_a_string.c
- You can find all my C programs at Dragan Milicev's pastebin:
- https://pastebin.com/u/dmilicev
- */
- #include <stdio.h>
- #include <time.h> // clock_t, clock(), CLOCKS_PER_SEC
- int main(void)
- {
- char string[] = "This is a string.\n";
- clock_t start_time, end_time;
- double elapsed_time1, elapsed_time2, elapsed_time3, elapsed_time4 ;
- int i;
- unsigned sum=1, n=10000; // n is the number of terms
- // 1
- start_time = clock(); // start measuring time
- for(i=1; i<=n; i++)
- {
- printf("%s", string);
- }
- end_time = clock(); // end measuring time
- elapsed_time1 = (double)(end_time - start_time) / CLOCKS_PER_SEC;
- printf("\n 1. printf , elapsed_time = %lf s \n", elapsed_time1);
- // 2
- start_time = clock(); // start measuring time
- for(i=1; i<=n; i++)
- {
- fprintf(stdout,"%s",string);
- // putc('\n',stdout);
- }
- end_time = clock(); // end measuring time
- elapsed_time2 = (double)(end_time - start_time) / CLOCKS_PER_SEC;
- printf("\n 2. fprintf , elapsed_time = %lf s \n", elapsed_time2);
- // 3
- start_time = clock(); // start measuring time
- for(i=1; i<=n; i++)
- {
- puts(string);
- }
- end_time = clock(); // end measuring time
- elapsed_time3 = (double)(end_time - start_time) / CLOCKS_PER_SEC;
- printf("\n 3. puts , elapsed_time = %lf s \n", elapsed_time3);
- // 4
- start_time = clock(); // start measuring time
- for(i=1; i<=n; i++)
- {
- fputs(string,stdout);
- }
- end_time = clock(); // end measuring time
- elapsed_time4 = (double)(end_time - start_time) / CLOCKS_PER_SEC;
- printf("\n 4. fputs , elapsed_time = %lf s \n\n", elapsed_time4);
- printf("\n Results : \n");
- printf("\n 1. printf , elapsed_time = %lf s \n", elapsed_time1);
- printf("\n 2. fprintf , elapsed_time = %lf s \n", elapsed_time2);
- printf("\n 3. puts , elapsed_time = %lf s \n", elapsed_time3);
- printf("\n 4. fputs , elapsed_time = %lf s \n", elapsed_time4);
- return 0;
- } // main()
Advertisement
RAW Paste Data
Copied
Advertisement