[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] opkg / coldmint



Hi,

On perjantai 15 helmikuu 2013, Ole wrote:
>  However, the bad thing - perfomance of the client util
>  (opkg-cl - it's like apt-get, yum, rmp, dpkg ...) is worst case.
> 
>  I thought this is an bug... but I found out, that it's
>  not hanging, but instead the single steps of the
>  installation process take so long. But especially
>  extracting the data files into an FILE* is taking much too long.
>
>  But all in all, it's not just this function ...
>  General perfomance is bad :(.
> 
>  I found this is an interesting fact, and I wanted to
>  tell this :)
> 
>  The strange thing is: rpm for example doesn't suffer
>  these performance problems - but opkg claims
>  to be an package management system for embedded
>  system...

It's Linux software.  Embedded Linux devices typically
run at several hundred Mhz, while their flash and RAM amounts
may only be in single or double digit MBs (if device doesn't
have display & www-browser).

I took a quick look at opkg code:
http://code.google.com/p/opkg/source/browse/#svn%2Ftrunk

It seems to have a partial copy of Busybox library facilities.
Busybox code goal is primarily reducing disk (and RAM) footprint
of the binaries, and because of this, its performance often sucks
compared to corresponding GNU utilities & libraries, which RPM uses.

For example Busybox gzip performance is only half of the GNU one.
I assume similar issues with other compression algorithms.

Is opkg FILE* content actually gzipped data being uncompressed
as it's read?


If you can test this software under Hatari, the latest Hatari
version in Mercurial provides much improved profiling support.
If you provide symbol address information [1] for the binary
you test, you can get even callgraphs of where the performance
goes.

See example and usage info here:
http://sourceforge.net/mailarchive/message.php?msg_id=30482407


	- Eero

[1] "nm <binary>" output processed with this:
http://hg.tuxfamily.org/mercurialroot/hatari/hatari/file/tip/tools/nm-
symbols-cleanup.sh