all devices regression report - 2018-01-12-03:50:00 - b5ac1a6e73af59d5106bf68ed3ab1a456a1c26dc

[email protected] Fri, 12 Jan 2018 03:50:00 -0800 (PST)
Newsgroups gmane.comp.printing.ghostscript.regression
Message-ID <20180112115000.E6B4C204025E@i7>
Differences in all devices errors using gs/examples files

Previous Revision: 338c13198e658b084bbe45930e4837c31102b61f
 Current Revision: b5ac1a6e73af59d5106bf68ed3ab1a456a1c26dc

commit b5ac1a6e73af59d5106bf68ed3ab1a456a1c26dc
Author:     Ken Sharp <[email protected]>
AuthorDate: Fri Jan 12 10:56:29 2018 +0000
CommitDate: Fri Jan 12 10:56:29 2018 +0000

    PS interpreter - don't use findresource for Idiom Recognition in bind
    
    The current implementation of idiom recognition uses findresource in
    the definition of the bind operator to check all existing IdiomSets
    for a candidate to substitute.
    
    This is, in fact, wrong. The PLRM (p135 3rd Edition) states that :
    
    "This matching by value occurs only for IdiomSet instances that are
    defined in VM; bind does not consider instances that are in not in VM
    but only in external storage."
    
    and:
    
    To ensure that the instances in VM are consistent with the external
    ones, the interpreter automatically invokes findresource to load
    external IdiomSet instances into VM at the beginning of each job and at
    certain other times."
    
    We were not loading the IdiomSet resources into VM, and we were searching
    external resources during bind.
    
    Not only is this incorrect, but because findresource ends up calling
    filenameforall on every directory in the search path, its also very
    slow.
    
    While normally we don't expect to see many occurences of bind during the
    course of a job, the customer supplied file did multiple binds on every
    page, and had > 50,000 pages. This led to a fourfold decrease in
    performance compared to Acrobat Distiller.
    
    Here we load the external resources into gobal VM at startup, and we
    now *only* search instances in VM. This is more correct going by the
    spec, and improves the performance by the desired factor of 4 for the
    customer. It provides a small benefit on cluster testing, which is
    expected as this only affects PostScript input.
    
    No differences expected.

Resource/Init/gs_ll3.ps

new errors:

errors that went away:

errors that are not whitelisted:
=== ghostpdl/examples/transparency_example.ps === cp50 ===
=== ghostpdl/examples/transparency_example.ps === psdrgb ===