static double get_time(void);
static void read_test(int fd);
static int run_read_test(void);
-static void write_test(int fd);
+static void write_test(int fd, cups_mode_t mode);
/*
*/
int /* O - Exit status */
-main(void)
+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 */
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...
*/
ras_fd = run_read_test();
start_secs = get_time();
- write_test(ras_fd);
+ write_test(ras_fd, mode);
write_secs = get_time();
printf(" %.3f write,", write_secs - start_secs);
{
int y; /* Looping var */
cups_raster_t *r; /* Raster stream */
- cups_page_header_t header; /* Page header */
+ cups_page_header2_t header; /* Page header */
unsigned char buffer[8 * TEST_WIDTH];
/* Read buffer */
return;
}
- while (cupsRasterReadHeader(r, &header))
+ while (cupsRasterReadHeader2(r, &header))
{
for (y = 0; y < header.cupsHeight; y ++)
cupsRasterReadPixels(r, buffer, header.cupsBytesPerLine);
*/
static void
-write_test(int fd) /* I - File descriptor to write to */
+write_test(int fd, /* I - File descriptor to write to */
+ cups_mode_t mode) /* I - Write mode */
{
int page, x, y; /* Looping vars */
int count; /* Number of bytes to set */
cups_raster_t *r; /* Raster stream */
- cups_page_header_t header; /* Page header */
+ cups_page_header2_t header; /* Page header */
unsigned char data[32][8 * TEST_WIDTH];
/* Raster data to write */
* Test write speed...
*/
- if ((r = cupsRasterOpen(fd, CUPS_RASTER_WRITE)) == NULL)
+ if ((r = cupsRasterOpen(fd, mode)) == NULL)
{
perror("Unable to create raster output stream");
return;
header.cupsBitsPerPixel = (page & 1) ? 32 : 8;
}
- cupsRasterWriteHeader(r, &header);
+ cupsRasterWriteHeader2(r, &header);
for (y = 0; y < TEST_HEIGHT; y ++)
cupsRasterWritePixels(r, data[y & 31], header.cupsBytesPerLine);