You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Angel Bugarin reported a performance issue with CUPS 1.2rc1 which seemed to be a regression from 1.1.x. Basically, with thousands of print queues with PPD files, it took longer for cupsd to start in 1.2rc1.
The culprit seems to be the printer-specific MIME type lists we now provide. Basically, the mimeFilter() code did not terminate on the first matching filter when the cost pointer was NULL. In addition, it did a linear lookup on the source type of all filters, which really slowed things down.
The fix is to use another (shadow) array to support O(log N) lookups of the source type, and to return early if the cost pointer is NULL. This results in a 10x speedup - 41 seconds down to 4 seconds for 500 printers.
The text was updated successfully, but these errors were encountered:
Version: 1.2rc1
CUPS.org User: mike
Angel Bugarin reported a performance issue with CUPS 1.2rc1 which seemed to be a regression from 1.1.x. Basically, with thousands of print queues with PPD files, it took longer for cupsd to start in 1.2rc1.
The culprit seems to be the printer-specific MIME type lists we now provide. Basically, the mimeFilter() code did not terminate on the first matching filter when the cost pointer was NULL. In addition, it did a linear lookup on the source type of all filters, which really slowed things down.
The fix is to use another (shadow) array to support O(log N) lookups of the source type, and to return early if the cost pointer is NULL. This results in a 10x speedup - 41 seconds down to 4 seconds for 500 printers.
The text was updated successfully, but these errors were encountered: