⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 speed.c

📁 国外网站上的一些精典的C程序
💻 C
字号:
/******** CALCULATE I/O PERFORMANCE TO NUL FILE ********/#include <dos.h>#include <stdio.h>#include <stdlib.h>#include "errors.h"           /* For cant()     */#define CHK 100L              /* speed factor   */long ticks(long tick)                                   /* GET BIOS TIME TICK */{        union REGS reg;        reg.h.ah=0;        int86(0x1A, &reg, &reg);        return ((long)reg.x.cx<<16)+reg.x.dx-tick;}long time_it(void(*func)(void)){        long t = ticks(0L);        (*func)();        return ticks(t);}void show_it(long t){        long lquot, lrem;        t = (t*1000/182+5)/10;        lquot = t/10;        lrem = t%10;        printf("%3ld.%02d sec", lquot, (int)lrem);}void t_printf(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wt");        for (u=0; u<50*CHK; ++u)                fprintf(fp, "Now is %d time for %d little indians\n", 123, -456);        fclose(fp);}void b_printf(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wb");        for (u=0; u<50*CHK; ++u)                fprintf(fp, "Now is %d time for %d little indians\n", 123, -456);        fclose(fp);}void tu_printf(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wt");        setbuf(fp, NULL);        for (u=0; u<5*CHK; ++u)                fprintf(fp, "Now is %d time for %d little indians\n", 123, -456);        fclose(fp);}void bu_printf(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wb");        setbuf(fp, NULL);        for (u=0; u<5*CHK; ++u)                fprintf(fp, "Now is %d time for %d little indians\n", 123, -456);        fclose(fp);}void t_write(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wt");        for (u=0; u<250*CHK; ++u)                fwrite("Now is the time for all good men to come\n", 41, 1, fp);        fclose(fp);}void b_write(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wb");        for (u=0; u<500*CHK; ++u)                fwrite("Now is the time for all good men to come\n", 41, 1, fp);        fclose(fp);}void tu_write(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wt");        setbuf(fp, NULL);        for (u=0; u<100*CHK; ++u)                fwrite("Now is the time for all good men to come\n", 41, 1, fp);        fclose(fp);}void bu_write(void){        register FILE *fp;        register unsigned u;        fp = cant("NUL", "wb");        setbuf(fp, NULL);        for (u=0; u<200*CHK; ++u)                fwrite("Now is the time for all good men to come\n", 41, 1, fp);        fclose(fp);}main(void){        show_it(time_it(t_printf));        printf(": time for text printf buffered\n");        show_it(time_it(b_printf));        printf(": time for binary printf buffered\n");        show_it(time_it(tu_printf));        printf(": time for text printf unbuffered\n");        show_it(time_it(bu_printf));        printf(": time for binary printf unbuffered\n");        show_it(time_it(t_write));        printf(": time for text write buffered\n");        show_it(time_it(b_write));        printf(": time for binary write buffered\n");        show_it(time_it(tu_write));        printf(": time for text write unbuffered\n");        show_it(time_it(bu_write));        printf(": time for binary write unbuffered\n");        return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -