[cups.development] ppdMarkOption/ppdConflicts performanceimprovement
Michael Sweet
mike at easysw.com
Sat Apr 28 05:14:12 PDT 2007
Hidetomo Katsura wrote:
> ...
> you mean you *do* find it unreasonably slow and unsable? i agree. and all our
> customers agree. that's why it needs to be improved as much as possible.
No, I mean that having that many options is unreasonable and
unusable, especially if those options are constrained in
complex ways.
When you have 100 options, it usually means you haven't
exposed/expressed the complexity of your driver efficiently.
> 75 options is nothing if it doesn't have constraints. again, please try a
> 100o/30c/5000c PPD file as an extreme reference (but it's a real world test
> case for us).
Please provide a link to such a PPD file. I've never encountered
a file that big in the 13 years I've been doing printing software.
> ...
> well, if it's not reciprocated, you should be able to reciprocate it
> automatically when you build lists.
Yeah, that'll slow ppdOpen() down significantly, something we are
loath to do because it makes running a server with large numbers
of printers infeasible (and that is a more common configuration
than a single driver with 100 options).
> for example, if you have 100 options, and one option contraints 10 other
> options, it's still almost 10x faster if you can skip constraints for 90 (or
> 89) other options. and the best case, if one option constraints only one
> other option, it's almost 100x faster.
*If* we built a dependency graph (tree) of the constraints, we
*might* be able to do partial updates efficiently. However,
that level of optimization will not happen for CUPS 1.3 (we are
getting close to beta...)
> if you can keep a ppdMarkOption/ppdConflicts performance improvement feature
> request open until it actually get fixed, we and our customers who are
> suffering the extremely slow print dialog on mac really appreciate it.
Your Mac users should file a bug report with Apple, since that is
the source of the performance problem, and they ultimately will
decide what will go into future Mac OS X releases, not us. Improving
the performance of ppdConflicts/ppdMarkOption beyond the 5x
improvement I've implemented for 1.3 is simply not a priority.
Getting 1.3 out the door *is*.
--
______________________________________________________________________
Michael Sweet, Easy Software Products mike at easysw dot com
Internet Printing and Publishing Software http://www.easysw.com
More information about the cups
mailing list