[gs-cvs] rev 8016 - trunk/gs/src
ray at ghostscript.com
ray at ghostscript.com
Tue May 29 23:05:43 PDT 2007
Author: ray
Date: 2007-05-29 23:05:43 -0700 (Tue, 29 May 2007)
New Revision: 8016
Modified:
trunk/gs/src/gxclmem.c
Log:
Change built-in compression threshold for memory based clist to
improve performance.
DETAILS:
The (example) compression threshold used with BAND_LIST_STORAGE=memory
is much to small to represent current embedded devices (where we expect
to not have a disk). On one customer's (#951) performance test files,
this change shows an overall 9.2% performance increase, ranging as high
as 20% on one file. For this test suite, even 22M is enough to avoid
compression.
The intent is that the compression threshold be a dynamic value that
uses current "real time" memory available in the printer rather than
some arbitrary fixed value. If the clist writer logic waits for all
potential renderer/reader tasks to stop and free their clist RAM,
then the need to compress becomes even less likely.
EXPECTED DIFFERENCES:
None (currently no testing for performance and clist performance).
Modified: trunk/gs/src/gxclmem.c
===================================================================
--- trunk/gs/src/gxclmem.c 2007-05-28 18:47:29 UTC (rev 8015)
+++ trunk/gs/src/gxclmem.c 2007-05-30 06:05:43 UTC (rev 8016)
@@ -131,7 +131,7 @@
least as large as the fixed overhead of the compressor plus the
decompressor, plus the expected compressed size of a block that size.
*/
-private const long COMPRESSION_THRESHOLD = 300000;
+private const long COMPRESSION_THRESHOLD = 32000000;
#define NEED_TO_COMPRESS(f)\
((f)->ok_to_compress && (f)->total_space > COMPRESSION_THRESHOLD)
More information about the gs-cvs
mailing list