Brian Harring wrote:

> On Thu, Mar 20, 2008 at 06:51:13AM +0000, Steve Long wrote:
>> I don't have figures, but my understanding is that one of the major
>> factors in pkgcore's speed (which *is* impressive, even if the UI isn't
>> quite there yet) is that it doesn't reload bash for every phase. (The
>> whole ebuild "daemon" or ebd thing.)
> 
> From a speed standpoint, EBD is only relevant if we're talking about
> metadata regeneration-
>
http://gentooexperimental.org/~ferringb/blog/archives/2005-03.html#e2005-03-05T16_59_39.txt
>
Ah OK; thanks, very interesting post.
 
> Generally speaking, if you're sourcing to get metadata (regardless of
> the underlying format), you're already screwed- cache exists for a
> reason and is massively faster to rely on.  Pkgcore's speed comes
> about from careful design + a massive amount of JIT, EBD is faster
> then the alternatives but that's *only* relevant for metadata
> regeneration.
>
Would the metadata regen be quicker if the relevant file were in python
rather than bash?

> Finally, bear in mind we're talking about build phase here- even if
> the pkg is just a straight unpack/copy, the bottleneck there isn't
> going to be the bash bits for setting up the env, it's going to be the
> unpack, copy, multiple QA checks that do repeated find's across ${D},
> multiple file invocations for same file, etc.  Seriously- profile a
> merge sometime, even on non-compilations the large time slices are
> never bash.

Understood; thanks for discussing.

I was under the impression that implicit in the design of portage/pkgcore,
was that build scripts wouldn't necessarily be in bash, and that ebuild was
simply the bash format. Other formats in scripting languages seemed a
no-brainer; sorry if it was off-base.


-- 
gentoo-dev@lists.gentoo.org mailing list

Reply via email to