Category : Recently Uploaded Files
Archive   : SNIP9503.ZIP
Filename : DSPDTST.C

 
Output of file : DSPDTST.C contained in archive : SNIP9503.ZIP
/*
** Compiler I/O benchmarks
** public domain by Dave Knapp & Bob Stout
*/

#include
#include
#include

typedef unsigned long dword;

#ifdef M_I86 /* Identifier for MSC, QC, Watcom, or ZTC */

#ifndef __ZTC__
#include

#ifndef __WATCOMC__
#ifdef _MSC_VER
#define LOGFILE "dspdtst.msc"
#else
#define LOGFILE "dspdtst.qc"
#endif

// #define MK_FP(seg,off) ((void far *)(((dword)(seg)<<16)|(off)))
#else
#define LOGFILE "dspdtst.wc"
#endif /* not Watcom */

#define cputs(s) _outtext((char _far *)(s))
#define gotoxy(col,row) _settextposition(row,col)

#else /* if ZTC */

#include

#define cputs(s) disp_puts(s "\n")
#define cprintf(s) disp_printf(s "\n")
#ifdef __SC__
#define LOGFILE "dspdtst.sc"
#define gotoxy(col,row) __emit__(0xb2,col-1,0xb6,row-1,0xb7,0,0xb4,2,0xcd,0x10)
#else
#define LOGFILE "dspdtst.ztc"
#define gotoxy(col,row) asm(0xb2,col-1,0xb6,row-1,0xb7,0,0xb4,2,0xcd,0x10)
#endif

#endif /* if ZTC */
#else
#ifdef __BORLANDC__
#define LOGFILE "dspdtst.bc"
#else
#define LOGFILE "dspdtst.tc"
#endif
#endif /* if TC */

dword far *bios_time = (dword far *)(0x0040006c);
dword time1,time2,time3,time4,time5,time6;

main()
{
int i;
FILE *log = stdout, *nulfile;

#ifdef __ZTC__
disp_open();
#endif
nulfile = fopen("NUL", "w");
time1 = *bios_time;
for(i = 1; i < 1000; 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 < 1000; i++)
{
gotoxy(10,5);
printf("printf test.\n");
printf("this is the second line.\n");
}
time2 = *bios_time - time2;
time3 = *bios_time;
for(i = 1; i < 1000; i++)
{
#ifdef __ZTC__
disp_move(4,9);
cputs("d_puts test.");
#else
gotoxy(10,5);
#if defined(M_I86) && !defined(__WATCOMC__)
cputs("_outtext test.\r\n");
#else
cputs("cputs test.\r\n");
#endif
#endif
cputs("this is the second line.");
}
time3 = *bios_time - time3;
time4 = *bios_time;
for(i = 1; i < 1000; i++)
{
#ifdef __ZTC__
disp_move(4,9);
cprintf("d_printf test.");
#else
gotoxy(10,5);
cprintf("cprintf test.\r\n");
#endif
cprintf("this is the second line.");
}
time4 = *bios_time - time4;
time5 = *bios_time;
for(i = 1; i < 1000; 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 < 1000; i++)
{
fprintf(nulfile, "fprintf test.\n");
fprintf(nulfile, "this is the second line.\n");
}
time6 = *bios_time - time6;

#ifdef __ZTC__
disp_close();
#endif
log = fopen(LOGFILE, "w");
fputs("Times for 1000 iterations:\n\n", log);
fprintf(log, "puts %10.3f seconds\n", (double)time1 * .054945);
fprintf(log, "printf %10.3f seconds\n", (double)time2 * .054945);
#ifndef __ZTC__
#if defined(M_I86) && !defined(__WATCOMC__)
fprintf(log, "_outtext %10.3f seconds\n", (double)time3 * .054945);
#else
fprintf(log, "cputs %10.3f seconds\n", (double)time3 * .054945);
#endif
fprintf(log, "cprintf %10.3f seconds\n", (double)time4 * .054945);
#else
fprintf(log, "d_puts %10.3f seconds\n", (double)time3 * .054945);
fprintf(log, "d_printf %10.3f seconds\n", (double)time4 * .054945);
#endif
fprintf(log, "fputs %10.3f seconds\n", (double)time5 * .054945);
fprintf(log, "fprintf %10.3f seconds\n", (double)time6 * .054945);
fclose(log);
return 0;
}


  3 Responses to “Category : Recently Uploaded Files
Archive   : SNIP9503.ZIP
Filename : DSPDTST.C

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/