The memory usage is a bit exagerated (to say the least). Using make -j2
puts my 3GB RAM machine on its knees. Each gcc process goes up to 1.5G
(maybe more at peaks).
Orocos Real-Time ToolkitSmarter realtime. Safer threads
|
|
Memory usage while compiling the RTT TypeKit (RTT 2.0) |
Memory usage while compiling the RTT TypeKit (RTT 2.0)
On Tuesday 04 May 2010 17:24:24 Sylvain Joyeux wrote:
> The memory usage is a bit exagerated (to say the least). Using make -j2
> puts my 3GB RAM machine on its knees. Each gcc process goes up to 1.5G
> (maybe more at peaks).
>
I am aware of this. I need 12 gigs of ram to compile RTT 2.0 with -j8 to be
comfortable. I split the RTT typekit code into separate files, but in a way
this made it worse, before there was one gcc process taking lots of ram, with
-jx, there are now x gcc processes taking lots of ram.
The problem is that too much template code is generated with the
'TemplateTypeInfo' classes. I don't know where/how exactly yet, but it
probably can be optimized. This is on my agenda...
This *is* a bug.
Peter
Memory usage while compiling the RTT TypeKit (RTT 2.0)
On May 5, 2010, at 10:09 , Peter Soetens wrote:
> On Tuesday 04 May 2010 17:24:24 Sylvain Joyeux wrote:
>> The memory usage is a bit exagerated (to say the least). Using make -j2
>> puts my 3GB RAM machine on its knees. Each gcc process goes up to 1.5G
>> (maybe more at peaks).
>>
>
> I am aware of this. I need 12 gigs of ram to compile RTT 2.0 with -j8 to be
> comfortable. I split the RTT typekit code into separate files, but in a way
> this made it worse, before there was one gcc process taking lots of ram, with
> -jx, there are now x gcc processes taking lots of ram.
>
> The problem is that too much template code is generated with the
> 'TemplateTypeInfo' classes. I don't know where/how exactly yet, but it
> probably can be optimized. This is on my agenda...
>
> This *is* a bug.
>
> Peter
+1 ... I allocate about 0.5 GB per gcc compile process, in general. RTT isn't that unusual in this area.
Can't wait till clang/llvm works with Orocos ... that might significantly change this ...
S