dspdtst.c
来自「国外网站上的一些精典的C程序」· C语言 代码 · 共 127 行
C
127 行
/*** Compiler I/O benchmarks** public domain by Dave Knapp & Bob Stout*/#include <stdio.h>#include <conio.h>#include <dos.h>#include "errors.h" /* For cant() */#include "sniptype.h" /* For DWORD */#include "extkword.h" /* For FAR */#include "scrnmacs.h" /* For portable screen I/O */#include "dvidport.h" /* For portable direct video I/O */#ifndef ITERATIONS #define ITERATIONS 5000#endif#ifdef M_I86 /* Identifier for MSC, QC, Watcom, or ZTC */ #ifndef __ZTC__ #include <graph.h> #ifndef __WATCOMC__ #ifdef _MSC_VER #define LOGFILE "dspdtst.msc" #else #define LOGFILE "dspdtst.qc" #endif #else #define LOGFILE "dspdtst.wc" #endif /* not Watcom */ #else /* if ZTC */ #include <disp.h> #ifdef __SC__ #define LOGFILE "dspdtst.sc" #else #define LOGFILE "dspdtst.ztc" #endif #endif /* if ZTC */#else /* must be Borland or Mix */ #ifdef __TURBOC__ #ifdef __BORLANDC__ #define LOGFILE "dspdtst.bc" #else #define LOGFILE "dspdtst.tc" #endif #endif #ifdef __POWERC #define LOGFILE "dspdtst.pc" #endif#endif#ifndef LOGFILE #error Unrecognized compiler#endifDWORD FAR *bios_time = (DWORD FAR *)(0x0040006cL);DWORD time1, time2, time3, time4, time5, time6;main(){ int i; FILE *log = stdout, *nulfile; ClrScrn(BG_(BLACK_)+GRAY_); nulfile = cant("NUL", "w"); time1 = *bios_time; for(i = 1; i < ITERATIONS; i++) { gotoxy(10,5); puts("puts test."); puts("this is the second line.\n"); } time1 = *bios_time - time1; time2 = *bios_time; for(i = 1; i < ITERATIONS; i++) { gotoxy(10,8); printf("printf test.\n"); printf("this is the second line.\n"); } time2 = *bios_time - time2; dvid_open(); time3 = *bios_time; for(i = 1; i < ITERATIONS; i++) { gotoxy(10,11); cputs("cputs test.\r\n"); cputs("this is the second line.\r\n"); } time3 = *bios_time - time3; time4 = *bios_time; for(i = 1; i < ITERATIONS; i++) { gotoxy(10,14); cprintf("cprintf test.\r\n"); cprintf("this is the second line.\r\n"); } time4 = *bios_time - time4; dvid_close(); time5 = *bios_time; for(i = 1; i < ITERATIONS; i++) { fputs("fputs test.\n", nulfile); fputs("this is the second line.\n", nulfile); } time5 = *bios_time - time5; time6 = *bios_time; for(i = 1; i < ITERATIONS; i++) { fprintf(nulfile, "fprintf test.\n"); fprintf(nulfile, "this is the second line.\n"); } time6 = *bios_time - time6; log = cant(LOGFILE, "w"); fprintf(log, "Times for %d iterations:\n\n", ITERATIONS); fprintf(log, "puts %10.3f seconds\n", (double)time1 * .054945); fprintf(log, "printf %10.3f seconds\n", (double)time2 * .054945); fprintf(log, "cputs %10.3f seconds\n", (double)time3 * .054945); fprintf(log, "cprintf %10.3f seconds\n", (double)time4 * .054945); fprintf(log, "fputs %10.3f seconds\n", (double)time5 * .054945); fprintf(log, "fprintf %10.3f seconds\n", (double)time6 * .054945); fclose(log); printf("\nDone - results are in %s\n", LOGFILE); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?