[gs-code-review] CET 20-01-01 Adobe way of growing the dictionary
|
Ray Johnston
Ray.Johnston at Artifex.com
Sun Feb 18 09:41:18 PST 2007
Alex,
Did you happen to check if there was any performance difference (I don't
expect
anything significant) ?
I see no reason not to switch to Adobe's method. It fixes a CET issue
and doesn't
seem like an unreasonable approach.
Regards,
Ray
------------------------------------------------------------------------
Alex Cherepanov wrote:
> Reproduce the algorithm used by Adobe to grow the dictionary
> to match CET 20-01-01.
>
> DIFFERENCES:
> None: no comparefiles or CET differences.
>
> The main question for the reviewer: do we need this adjustment
> at all ?
>
> ------------------------------------------------------------------------
>
> Index: gs/src/idict.c
> ===================================================================
> --- gs/src/idict.c (revision 7709)
> +++ gs/src/idict.c (working copy)
> @@ -790,8 +790,14 @@
> dict *pdict = pdref->value.pdict;
> /* We might have maxlength < npairs, if */
> /* dict_round_size increased the size. */
> - ulong new_size = (ulong) d_maxlength(pdict) * 3 / 2 + 2;
> -
> + ulong new_size = (ulong) d_maxlength(pdict);
> + /* Adobe does this */
> + if (new_size < 20)
> + new_size += 10;
> + else if (new_size < 200)
> + new_size *= 2;
> + else
> + new_size += new_size / 2;
> #if arch_sizeof_int < arch_sizeof_long
> if (new_size > max_uint)
> new_size = max_uint;
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gs-code-review mailing list
> gs-code-review at ghostscript.com
> http://www.ghostscript.com/mailman/listinfo/gs-code-review
>
More information about the gs-code-review
mailing list