Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index



i've noticed that building "archive" installation sets on my machine is
entirely CPU bound (since everything fits into RAM) and a single "gzip"
takes up most of the time, so i've toyed around a little with a parallel
implementation "pigz" (available in Fedora) and a single line change
makes quite a difference:

real    2m55.031s
user    3m7.863s
sys     0m10.980s

real    2m56.103s
user    3m9.408s
sys     0m11.484s

real    2m58.402s
user    3m10.293s
sys     0m10.523s

real    0m39.902s
user    4m40.154s
sys     0m12.257s

real    0m36.689s
user    4m39.771s
sys     0m11.989s

real    0m41.307s
user    4m40.514s
sys     0m11.741s

i wonder, is this something that would enable us to do release builds
faster; of course since i don't do those i don't know to what extent it
could help, especially as we don't release "archive" but "rpm" (and
"deb"?) installation sets, and probably those will have their
compression done by something invoked by rpm... but at least for
gzip/pigz the tools look compatible, so perhaps putting it in PATH with
the right name could be done.

also there seem to be parallel implementations of bzip2 and lzma:

http://www.zlib.net/pigz/
http://compression.ca/pbzip2/
http://jnovy.fedorapeople.org/pxz/
diff --git a/solenv/bin/modules/installer/simplepackage.pm 
b/solenv/bin/modules/installer/simplepackage.pm
index 5f477a5..9aeb53c 100755
--- a/solenv/bin/modules/installer/simplepackage.pm
+++ b/solenv/bin/modules/installer/simplepackage.pm
@@ -552,7 +552,7 @@ sub create_package
             if ( $getuidlibrary ne "" ) { $ldpreloadstring = "LD_PRELOAD=" . $getuidlibrary; }
         }
 
-        $systemcall = "cd $tempdir; $ldpreloadstring tar -cf - . | gzip > $archive";
+        $systemcall = "cd $tempdir; $ldpreloadstring tar -cf - . | pigz > $archive";
     }
 
     if ( $makesystemcall )

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.