summaryrefslogtreecommitdiff
path: root/package/Library_package2.mk
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2019-05-25 12:28:27 +0200
committerLuboš Luňák <l.lunak@collabora.com>2019-05-28 12:28:01 +0200
commitaa44e10942937452930255be156c1b29247ee969 (patch)
treedb5258343c82c434d1026870285ae9f21727f915 /package/Library_package2.mk
parent7cd3f267cfbf3655f6a7a395b80560ecd22e15f7 (diff)
parallel deflate compression (one stream, multiple threads)
ZipPackageStream::saveChild() already had one threaded compression, but that still uses only one thread for one stream. Many documents contain many streams (where this is useful), but large documents often contain one huge content.xml, which then would be compressed using just one thread. But it is in fact possible to do deflate in parallel on the same data, at the cost of somewhat increased CPU usage (spread over threads). This is handled separately from the background thread path, as integrating these two approaches would probably be needlessly complex (since they both internally use ThreadPool, the tasks should often intermix and parallelize anyway). On my 4-core (8 HT threads) machine this reduces the compression time of tdf#113042 from 3s to 1s. Change-Id: Ifbc889a27966f97eb1ce2ce01c5fb0b151a1bdf8 Reviewed-on: https://gerrit.libreoffice.org/73032 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'package/Library_package2.mk')
-rw-r--r--package/Library_package2.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/package/Library_package2.mk b/package/Library_package2.mk
index 75a15f0e0d08..195c87f9ff4b 100644
--- a/package/Library_package2.mk
+++ b/package/Library_package2.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_Library_add_exception_objects,package2,\
package/source/zipapi/Deflater \
package/source/zipapi/Inflater \
package/source/zipapi/sha1context \
+ package/source/zipapi/ThreadedDeflater \
package/source/zipapi/XBufferedThreadedStream \
package/source/zipapi/XUnbufferedStream \
package/source/zipapi/ZipEnumeration \