all devices regression report - 2018-01-29-07:00:02 - d8ec036836a0abcfe3cc677bb88a61bdfd1a65bb
[email protected] Mon, 29 Jan 2018 07:00:02 -0800 (PST)
| Newsgroups | gmane.comp.printing.ghostscript.regression |
|---|---|
| Message-ID | <20180129150002.96B9420403FC@i7> |
Differences in all devices errors using gs/examples files Previous Revision: e29a7e00401549ebb7c03c8324209489b7c87681 Current Revision: d8ec036836a0abcfe3cc677bb88a61bdfd1a65bb commit d8ec036836a0abcfe3cc677bb88a61bdfd1a65bb Author: Ken Sharp <[email protected]> AuthorDate: Mon Jan 29 14:05:50 2018 +0000 CommitDate: Mon Jan 29 14:05:50 2018 +0000 pdfwrite - remove a global from gdevpdtt.c See bug #693376 In gdevpdtt.c we hold a static gs_glyph standard_glyph_code_for_notdef which is initially assinged to GS_NO_GLYPH, and is later assigned a value from the encoding table: standard_glyph_code_for_notdef = gs_c_name_glyph((const byte *)".notdef", 7) - gs_c_min_std_encoding_glyph; However, this is only done if the current value is GS_NO_GLYPH. In effect standard_glyph_code_for_notdef is a constant. But we can't define it as a constant because the actual value depends on the contents of a table which is built at compile time. This appears to be an attempt to limit the number of times we call gs_c_name_glyph because that is a relatively expensive operation, and the actual value returned never changes between builds. But we don't want to have globals, really, so this commit simply gets and stores the value when the PDF font resource is created in font_resource_alloc(). We then can look up the value when we need it. This is, obviously, slightly slower than a one-time lookup, because we execute it once for every font. It also uses up a fraction more memory. However, compared to the performance and memory usage of pdfrwite the differences are miniscule. devices/vector/gdevpdtf.c devices/vector/gdevpdtf.h devices/vector/gdevpdtt.c new errors: errors that went away: errors that are not whitelisted: === ghostpdl/examples/transparency_example.ps === cp50 ===