test program | bunzip2 linux-2.6.32.tar.bz2 | bzip2 linux-2.6.32.tar | oggenc -q5 testfile.wav | lame -V4 testfile.wav |
---|---|---|---|---|
average lead time (gcc) | 22.118 | 91.452 | 108.554 | 98.438 |
average lead time (icc) | 20.373 | 68.284 | 88.581 | 84.626 |
speed increase | 8.5% | 33.9% | 22.5% | 16.3% |
# emerge icc
export GCC=${OCC} #
export GCXX=${OCXX}
export OCC="icc" #
export OCXX="icpc"
export GCCCFLAGS=${CFLAGS} #
export GCCCXXFLAGS=${CXXFLAGS}
export CFLAGS=${ICCCFLAGS} #
export CXXFLAGS=${ICCCXXFLAGS}
[ -r ${ROOT}/etc/portage/package.gcc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then # /etc/portage/package.gcc,
export OCC="${GCC}" #
export OCXX="${GCXX}"
export CFLAGS="${GCCCFLAGS}" #
export CXXFLAGS="${GCCCXXFLAGS}"
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then # /etc/portage/package.gcc-cflags,
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$CFLAGS $flags" #
export CXXFLAGS="$CXXFLAGS $flags"
break
fi
done < ${ROOT}/etc/portage/package.gcc-cflags
fi
return 0
fi
done < ${ROOT}/etc/portage/package.gcc
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then # icc
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$CFLAGS $flags"
export CXXFLAGS="$CXXFLAGS $flags"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
export CC_FOR_BUILD="${OCC}" # workaround
unset GCC
unset GCXX
unset GCCCFLAGS
unset GCCCXXFLAGS
[ -r ${ROOT}/etc/portage/package.icc ] || return 0
while read -a target; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then # /etc/portage/package.icc,
export OCC="icc" #
export OCXX="icpc"
export CFLAGS="${ICCCFLAGS}" #
export CXXFLAGS="${ICCCXXFLAGS}"
if [ -r ${ROOT}/etc/portage/package.icc-cflags ]; then # /etc/portage/package.icc-cflags,
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$CFLAGS $flags" #
export CXXFLAGS="$CXXFLAGS $flags"
break
fi
done < ${ROOT}/etc/portage/package.icc-cflags
fi
export CC_FOR_BUILD="${OCC}" # workaround
return 0
fi
done < ${ROOT}/etc/portage/package.icc
if [ -r ${ROOT}/etc/portage/package.gcc-cflags ]; then # gcc
while read target flags; do
if [ "${target}" = "${CATEGORY}/${PN}" ]; then
export CFLAGS="$CFLAGS $flags"
export CXXFLAGS="$CXXFLAGS $flags"
break
fi
done < ${ROOT}/etc/portage/package.gcc-cflags
fi
fi
Source: https://habr.com/ru/post/83324/