|
Boost-Build : |
Subject: Re: [Boost-build] Python Port Updates
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2016-09-26 15:34:57
On Mon, Sep 26, 2016 at 2:23 PM, Steven Watanabe <watanabesj_at_[hidden]>
wrote:
> AMDG
>
> On 09/26/2016 11:20 AM, aaron_at_[hidden] wrote:
> >
> > The biggest performance hit is the Features, Properties,
> > and PropertySet instances. Based on the fact that there
> > is a property_set module written in C, I'm assuming that
> > Jam, at one point, suffered the same problem.
> >
>
> It still does have this problem. Even after
> all the optimizations I made, a significant
> fraction of memory usage and running time is
> spent in this area. The Jam implementation
> may not be as slow as python, but it's not
> exactly fast either.
>
Actually.. I've been doing some perf measurements in the past few days on
b2 engine and I was rather surprised where the time goes (not the memory).
For example, currently, the most expensive operation is in switching module
contexts. Specifically here <
https://github.com/boostorg/build/blob/develop/src/engine/function.c#L4169>.
There are many reasons for why that's slow (some obvious from just looking
at those few lines). But the key problem in the current implementation is
that other than the optimization work Steven did we haven't done design
changes for optimizations. But that's something I was about to get into in
an imminent future email :-)
-- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk