All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gary Thomas <gary@mlbassoc.com>
To: Mark Hatle <mark.hatle@windriver.com>
Cc: poky@yoctoproject.org
Subject: Re: RPM vs IPK
Date: Thu, 19 May 2011 08:26:14 -0600	[thread overview]
Message-ID: <4DD52886.80003@mlbassoc.com> (raw)
In-Reply-To: <4DD52666.6050003@windriver.com>

On 05/19/2011 08:17 AM, Mark Hatle wrote:
> On 5/19/11 9:05 AM, Gary Thomas wrote:
>> Building Poky for various targets, I see some striking differences
>> based on the packaging.  I'm building for the beagleboard (RPM)
>> and my own OMAP/3530 (IPK), so everything is the same for these
>> packages (same compiler, architecture, etc), only the package
>> method differs.  This was built on an otherwise idle box
>> 4-way (Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz), with
>>     BB_NUMBER_THREADS ?= "4"
>>     PARALLEL_MAKE ?= "-j 4"
>>
>> Each of these tests are a complete build of the package, with
>> all dependencies already built.  For example, I use this sequence:
>>     % bitbake perl
>>     % bitbake perl -c clean
>>     % rm sstate-cache/sstate-perl-arm*
>>     % time bitbake perl
>>
>> perl -      RPM                         IPK
>>          real    12m15.520s          real    9m43.228s
>>          user    5m42.988s           user    4m40.692s
>>          sys     3m56.636s           sys     2m19.860s
>>
>> eglibc     RPM                          IPK
>>          real    32m19.984s          real    23m52.124s
>>          user    15m32.732s          user    20m48.214s
>>          sys     17m28.087s          sys     9m3.936s
>>
>> Bottom line - it seems to take 20-30% longer to package via RPM.
>>
>> I know there are reasons and tradeoffs for different packaging
>> methods, but 30% extra?
>>
>
> This matches my expectations for the most part.  RPM creates and processes a lot
> more metadata then IPK.  IPK is well optimized for small systems, and certainly
> I would advise someone generating a small system to use IPK.
>
> For medium and (especially) large systems, RPM starts to give more abilities
> that IPK due to the additional meta data.  This includes individual file type
> information, file checksum generation and evaluation on install, sparse file
> support, conflict detection and resolution [for multilib systems], ACID style
> upgrade, repackaging abilities for rollback, etc..  (Some of the items for RPM
> are not yet enabled in oe-core, but could be by individual developers.)
>
> (I also wouldn't be surprised if we've got integration optimizations in the RPM
> backend in oe-core that could help with those numbers.  The numbers seem to be
> much worse on packages with large numbers of files, vs the typical package with
> only a few to a hundred or so files.)
>
> Downside of RPM for small systems is the Berkley DB and the amount of meta data.
>   If you will be doing on-device upgrades the space required to handle the
> berkley DB and related items is quite large..  Also many of the advanced
> features available in RPM simple are not needed in small systems.

Fair enough.  Perhaps the packaging type should be chosen based on
the target, e.g. the BeagleBoard probably would be best served by IPK.

Certainly, these data/tradeoffs should be made clear somewhere in the documentation.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


  reply	other threads:[~2011-05-19 14:26 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-19 14:05 RPM vs IPK Gary Thomas
2011-05-19 14:17 ` Mark Hatle
2011-05-19 14:26   ` Gary Thomas [this message]
2011-05-19 15:28     ` Stewart, David C
2011-05-19 15:40       ` Gary Thomas
  -- strict thread matches above, loose matches on Subject: below --
2011-03-21  1:58 Gary Thomas
2011-03-21 11:57 ` Richard Purdie
2011-03-21 14:02   ` Gary Thomas
2011-03-21 14:42     ` Richard Purdie
2011-03-21 16:33       ` Mark Hatle
2011-03-22  0:20     ` Khem Raj
2010-10-29 21:33 Gary Thomas
2010-10-29 21:39 ` Gary Thomas
2010-10-30  6:17   ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DD52886.80003@mlbassoc.com \
    --to=gary@mlbassoc.com \
    --cc=mark.hatle@windriver.com \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.