int main(int argc, char **argv) { int bufsize; char *device; int minor; if (argc < 4) { print_usage(argv[0]); } device = (char *)malloc(sizeof(char)*DEV_NAME_SIZE); strcpy(device, "/dev/booga"); minor = atoi(argv[1]); if ((minor >= 0) && (minor < 4)) strcat(device, argv[1]); else { fprintf(stderr,"%s: Invalid minor number: %d :0<= minor# < 4:\n", argv[0], minor); exit(1); } bufsize = atoi(argv[2]); if (bufsize < 0) { fprintf(stderr, "%s: bufsize must be positive!", argv[0]); exit(1); } if (strncmp(argv[3],"r",1)==0) run_read_test(device, bufsize); else if (strncmp(argv[3],"w",1)==0) run_write_test(device, bufsize); else print_usage(argv[0]); exit(0); } /* main */
int /* O - Exit status */ main(void) { int i; /* Looping var */ int ras_fd, /* File descriptor for read process */ status; /* Exit status of read process */ double start_secs, /* Start time */ write_secs, /* Write time */ read_secs, /* Read time */ pass_secs[TEST_PASSES]; /* Total test times */ /* * Ignore SIGPIPE... */ signal(SIGPIPE, SIG_IGN); /* * Run the tests several times to get a good average... */ printf("Test read/write speed of %d pages, %dx%d pixels...\n\n", TEST_PAGES, TEST_WIDTH, TEST_HEIGHT); for (i = 0; i < TEST_PASSES; i ++) { printf("PASS %2d: ", i + 1); fflush(stdout); ras_fd = run_read_test(); start_secs = get_time(); write_test(ras_fd); write_secs = get_time(); printf(" %.3f write,", write_secs - start_secs); fflush(stdout); close(ras_fd); wait(&status); read_secs = get_time(); pass_secs[i] = read_secs - start_secs; printf(" %.3f read, %.3f total\n", read_secs - write_secs, pass_secs[i]); } printf("\nMedian Total Time: %.3f seconds per document\n", compute_median(pass_secs)); return (0); }
int /* O - Exit status */ main(int argc, /* I - Number of command-line args */ char *argv[]) /* I - Command-line arguments */ { int i; /* Looping var */ int ras_fd, /* File descriptor for read process */ status; /* Exit status of read process */ double start_secs, /* Start time */ write_secs, /* Write time */ read_secs, /* Read time */ pass_secs[TEST_PASSES]; /* Total test times */ cups_mode_t mode; /* Write mode */ /* * See if we have anything on the command-line... */ if (argc > 2 || (argc == 2 && strcmp(argv[1], "-z"))) { puts("Usage: rasterbench [-z]"); return (1); } mode = argc > 1 ? CUPS_RASTER_WRITE_COMPRESSED : CUPS_RASTER_WRITE; /* * Ignore SIGPIPE... */ signal(SIGPIPE, SIG_IGN); /* * Run the tests several times to get a good average... */ printf("Test read/write speed of %d pages, %dx%d pixels...\n\n", TEST_PAGES, TEST_WIDTH, TEST_HEIGHT); for (i = 0; i < TEST_PASSES; i ++) { printf("PASS %2d: ", i + 1); fflush(stdout); ras_fd = run_read_test(); start_secs = get_time(); write_test(ras_fd, mode); write_secs = get_time(); printf(" %.3f write,", write_secs - start_secs); fflush(stdout); close(ras_fd); wait(&status); read_secs = get_time(); pass_secs[i] = read_secs - start_secs; printf(" %.3f read, %.3f total\n", read_secs - write_secs, pass_secs[i]); } printf("\nMedian Total Time: %.3f seconds per document\n", compute_median(pass_secs)); return (0); }