[Rock-dev] 2GB + Autoproj + Ruby 1.9
Peter Soetens
peter at thesourceworks.com
Tue May 24 13:55:28 CEST 2011
On Tuesday 24 May 2011 12:22:43 Peter Soetens wrote:
> On Monday 23 May 2011 20:36:49 Sylvain Joyeux wrote:
> > On 05/23/2011 12:44 PM, Chris Mueller wrote:
> > > I'm not sure if 2 GB RAM are addressed to be insufficient, but i'm
> > > currently searching for improving
> > > my current situation.
> >
> > The culprit are two files in the RTT package that take ~ 900M each to
> > compile. I asked on the orocos ML whether there was a way to "serialize"
> > the build of these two files in CMake in a portable way, but with no
> > results so far.
>
> We found no portable way to express this is cmake. The only thing we can do
> is split these up in smaller files.
>
> In addition, the merge of the rock master branch has caused a regression
> such that we need even more memory now to compile typekits. I can't
> quantify this, but we had a case where the BFL typekit could be compiled
> on laptop X against toolchain-2.3 but not against master, due to memory
> constraints.
on master:
$ time make RealTimeTypekitTypes.cpp.o
[ 68%] Building CXX object rtt/typekit/CMakeFiles/rtt-typekit-
gnulinux_plugin.dir/RealTimeTypekitTypes.cpp.o
real 0m56.000s
user 0m51.240s
sys 0m1.180s
on toolchain-2.3:
$ time make RealTimeTypekitTypes.cpp.o
Building CXX object rtt/typekit/CMakeFiles/rtt-typekit-
gnulinux_plugin.dir/RealTimeTypekitTypes.cpp.o
real 0m46.818s
user 0m45.590s
sys 0m0.980s
That's 20% increase in compilation time. I know that operations are the major
blame for the total number. And I think we can compensate by simplifying the
implementation (reducing features) of operations.
We might however also rethink how port connections are handled... a single
port instantiates everything, itself, the connection (in 3 flavors), and the
anti-port. I wonder for in-process communication, if we can't just byte-copy
in a generic implementation of the channel elements.... still using the copy
constructor of the object to hand-over the data from port to the channels.
Peter
More information about the Rock-dev
mailing list