> On Sep 25, 2015, at 11:24 AM, Andre McCurdy <armccu...@gmail.com> wrote: > > On Thu, Sep 24, 2015 at 9:59 PM, Khem Raj <raj.k...@gmail.com> wrote: >> pxz results in significant time saving when generating xz filetypes for >> images due to parallelization support > > It looks like the version of xz utils already packaged in oe-core > supports multiple threads via the -T option. See XZ_THREADS in > image_types.bbclass.
the option -T is there for long time but does it work ? > >> a simple test on ubuntu build host with 16 CPUs >> >> time xz -M 50% -f -k -c -e -9 --check=crc32 >> CX041AEI_PROD_default_20150610000105sdy-dbg.rootfs.cpio >> >CX041AEI_PROD_default_20150610000105sdy-dbg.rootfs.cpio.xz >> >> real >> 23m42.299s >> user 23m36.947s >> sys 0m5.101s >> >> time pxz -M 50% -f -k -c -e -9 --check=crc32 >> CX041AEI_PROD_default_20150610000105sdy-dbg.rootfs.cpio >> >CX041AEI_PROD_default_20150610000105sdy-dbg.rootfs.cpio.xz >> >> real2m59.666s >> user 24m38.529s >> sys 0m10.056s >> >> Signed-off-by: Khem Raj <raj.k...@gmail.com >> --- >> meta/classes/image_types.bbclass | 4 ++-- >> meta/recipes-extended/pxz/pxz_git.bb | 31 +++++++++++++++++++++++++++++++ >> 2 files changed, 33 insertions(+), 2 deletions(-) >> create mode 100644 meta/recipes-extended/pxz/pxz_git.bb >> >> diff --git a/meta/classes/image_types.bbclass >> b/meta/classes/image_types.bbclass >> index 306403e..d766cd2 100644 >> --- a/meta/classes/image_types.bbclass >> +++ b/meta/classes/image_types.bbclass >> @@ -233,13 +233,13 @@ COMPRESSIONTYPES = "gz bz2 lzma xz lz4 sum" >> COMPRESS_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}.rootfs.${type}" >> COMPRESS_CMD_gz = "gzip -f -9 -c ${IMAGE_NAME}.rootfs.${type} > >> ${IMAGE_NAME}.rootfs.${type}.gz" >> COMPRESS_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}.rootfs.${type}" >> -COMPRESS_CMD_xz = "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_THREADS} >> --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}.rootfs.${type} > >> ${IMAGE_NAME}.rootfs.${type}.xz" >> +COMPRESS_CMD_xz = "pxz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_THREADS} >> --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}.rootfs.${type} > >> ${IMAGE_NAME}.rootfs.${type}.xz" >> COMPRESS_CMD_lz4 = "lz4c -9 -c ${IMAGE_NAME}.rootfs.${type} > >> ${IMAGE_NAME}.rootfs.${type}.lz4" >> COMPRESS_CMD_sum = "sumtool -i ${IMAGE_NAME}.rootfs.${type} -o >> ${IMAGE_NAME}.rootfs.${type}.sum ${JFFS2_SUM_EXTRA_ARGS}" >> COMPRESS_DEPENDS_lzma = "xz-native" >> COMPRESS_DEPENDS_gz = "" >> COMPRESS_DEPENDS_bz2 = "pbzip2-native" >> -COMPRESS_DEPENDS_xz = "xz-native" >> +COMPRESS_DEPENDS_xz = "pxz-native" >> COMPRESS_DEPENDS_lz4 = "lz4-native" >> COMPRESS_DEPENDS_sum = "mtd-utils-native" >> >> diff --git a/meta/recipes-extended/pxz/pxz_git.bb >> b/meta/recipes-extended/pxz/pxz_git.bb >> new file mode 100644 >> index 0000000..fe21be6 >> --- /dev/null >> +++ b/meta/recipes-extended/pxz/pxz_git.bb >> @@ -0,0 +1,31 @@ >> +# Copyright (C) 2015 Khem Raj <raj.k...@gmail.com> >> +# Released under the MIT license (see COPYING.MIT for the terms) >> + >> +SUMMARY = "Parallel LZMA compressor compatible with XZ" >> +DESCRIPTION = "Parallel XZ is a compression utility that takes advantage of >> running LZMA compression of different parts of an input file on multiple >> cores and processors simultaneously. Its primary goal is to utilize all >> resources to speed up compression time with minimal possible influence on >> compression ratio" >> +HOMEPAGE = "https://jnovy.fedorapeople.org/pxz/" >> +LICENSE = "GPL-2.0+" >> +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" >> +SECTION = "console/utils" >> +DEPENDS = "xz" >> + >> +SRCREV = "ae808463c2950edfdedb8fb49f95006db0a18667" >> +PV = "4.999.9beta+git${SRCPV}" >> +SRC_URI = "git://github.com/jnovy/pxz.git" >> + >> +S = "${WORKDIR}/git" >> + >> +CFLAGS_append = " -fopenmp -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" >> +LDFLAGS_append = " -llzma" >> + >> +do_compile () { >> + oe_runmake >> +} >> + >> +do_install () { >> + oe_runmake DESTDIR=${D} INSTALL="install -p" >> +} >> + >> +deltask do_configure >> + >> +BBCLASSEXTEND = "native" >> -- >> 2.5.3 >> >> -- >> _______________________________________________ >> Openembedded-core mailing list >> Openembedded-core@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core