skia2/dm
Hal Canary 9a3f554154 SkPDF: refactor streams, experimental threading
All PDF Streams are immediatly serialized, and are never long-lived
    in memory.

    if EXPERIMENTAL fExecutor is set on the Document, streams are
    compressed in parallel.

    Results for PDFBigDocBench:

        without patch                    1807885.01 μs
        with    patch without executor   1802808.35 μs
        with    patch with    executor    246313.72 μs

    SkPDFStreamOut() function replaces SkPDFStream classes.

    Page resources are all serialized early.

    Several Document-level objects are serialzied early.

    SkUUID introduced as top-level object.

    Many {insert|append}ObjRef() converted to memory efficient
    {insert|append}Ref().

Bug: skia:8630
Change-Id: Ic336917d0c8b9ac1c2423b43bfe9b49a3533fbff
Reviewed-on: https://skia-review.googlesource.com/c/176588
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-12-18 20:48:25 +00:00
..
DM.cpp Add new DM via, "ddl2" which records/draws DDLs for each test twice. 2018-12-17 20:22:15 +00:00
DMGpuTestProcs.cpp Move GrBackend enum to enum class. 2018-10-12 14:01:58 +00:00
DMJsonWriter.cpp Move SkOSPath out of include/core. 2016-11-08 20:20:15 +00:00
DMJsonWriter.h Add gamma_correct option field to dm.json 2016-02-29 07:38:01 -08:00
DMSrcSink.cpp SkPDF: refactor streams, experimental threading 2018-12-18 20:48:25 +00:00
DMSrcSink.h Add new DM via, "ddl2" which records/draws DDLs for each test twice. 2018-12-17 20:22:15 +00:00