tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Doubling performance of pkgsrc/mk
> Hi,
>
> I got fed up with pkgsrc being slow again, so have spent a bit of time recently improving performance.
>
> Here are some benchmarks for the build of pkgtools/url2pkg (chosen as its "build" time is very short so exposes any delays with the infrastructure):
>
> +----------+---------+--------+-------+
> | OS | SmartOS | NetBSD | macOS |
> +----------+---------+--------+-------+
> | Baseline | 12.5s | 10.3s | 3.0s |
> | Patched | 5.7s | 5.3s | 1.4s |
> +----------+---------+--------+-------+
>
> All of the builds were done on very different hardware so the OPSYS differences aren't interesting, but the patched times show a consistent 2x speedup regardless.
>
> I'm obviously testing this work a lot as it touches a huge amount of very important code, but I'd be intested in feedback early on, as well as reports of testing from anyone who wants to try it out.
>
> The branch is here:
>
> https://github.com/TritonDataCenter/pkgsrc/tree/feature/performance/trunk
>
> I may occasionally rebase against trunk as well as squashing/improving patches, so expect to sometimes see a forced update.
>
> As with previous performance work the bulk of this is simply thanks to reducing the number of fork+exec, using DTrace to identify areas that can be optimised. On SmartOS the baseline build invoked 2391 processes, the patched build only 877.
>
> The good news is there's still a bunch of things that can be improved, most notably around tools creation which is still very expensive.
>
> Cheers,
>
> --
> Jonathan Perkin - mnx.io - pkgsrc.smartos.org
> Open Source Complete Cloud www.tritondatacenter.com
Very nice :)
I wonder, is "${TEST} -d ${.TARGET:H} || ${MKDIR} ${.TARGET:H}" really faster than just "${MKDIR} ${.TARGET:H}"?
Kind regards,
Adam
Home |
Main Index |
Thread Index |
Old Index