[Openembedded-architecture] Default opkg solver backend change to libsolv
Alejandro del Castillo
alejandro.delcastillo at ni.com
Thu Feb 2 19:56:18 UTC 2017
On 02/01/2017 11:05 AM, Khem Raj wrote:
> Static codesize it one aspect, it will also be interesting to know the
> runtime memory requirements changes due to this. Since that could also
> be a concern for systems using opkg.
I just realized that my disk footprints where off. The actual libsolv
footprint is about 3 times my original estimate. Here are the correct
metrics:
========================
Disk Footprint
========================
qemux86-64 523K
qemuarm 445K
qemux86 576K
For memory footprint, I profiled a few commands high memory watermark
via valgrind [1], with feeds containing ~18K packages:
====================================================
Command Libsolv Internal Solver
=====================================================
opkg update 26.21 MB 26.21 MB
opkg list 29.87 MB 29.87 MB
opkg install procps 30.99 MB 27.33 MB
opkg remove procps 1.69 MB 1.69 MB
opkg update 30.97 MB 27.75 MB
Libsolv increases memory usage by ~14% in the install & upgrade case.
This makes sense to me since opkg first creates internal structures for
all installed & available packages, then moves that information into
libsolv's structures, before calling the solver. A future optimization
could fill the libsolv structures directly.
[1] valgrind --tool=massif <command>
--
Cheers,
Alejandro
More information about the Openembedded-architecture
mailing list