line collections

I thought I would implement draw_line_collection() for

    > Cairo and looked for an example script I could use for
    > testing. Yet after adding a 'print "line collection"'
    > statement to backend_bases.draw_line_collection() and
    > running backend_driver.py I did not see any examples using
    > line collections. Does this mean that line collections are
    > not useful, or just that there is no example script (called
    > by backend_driver.py) which uses line collections?

contours use line collections, as does the finance module. If you run
the contour_demo*.py examples, you should see them called. It may be
that none of the backend_driver functions use these yet, but the
driver should be updated to include all the new contouring
functionality (very nice contour labeling thanks to Nadia and filled
contours thanks to Nadia and Eric Firing).

    > Also, is it worthwhile implementing these collections
    > routines or are they effectively deprecated and about to be
    > superseded by new path based drawing routines?

The pure python backend implementation is a good bit faster than the
bad old way of using lots of independent objects and gc calls. It may
be fast enough for a python module like the pycairo backend. They are
not deprecated, but since no backend other than agg has implemented
them yet, I am amenable to losing them in favor of a streamlined,
reduced API based around paths.

Profile the contour routines on cairo and compare their performance to
agg. If they are in the same ballpark, you may want to let this lie
for a while. Ditto for scatter which uses poly collections.

JDH