Re: some thoughts..



Andreas Kostyrka <andreas@rainbow.studorg.tuwien.ac.at> writes:
> 1.) The soundserver is still started.
> 2.) The soundserver still waits for requests.
> 3.) The soundserver still tries to process requests.
> So the soundserver is practically used as a whole.
> 
> One additional thing is, that KDE is 99% C++, and C++ has a tendency to be
> a memory hog. (tempates need memory during compilation, AND during
> runtime, as array<char *> and array<void *> do have usually two different
> function sets generated. GList's one the other hand have their code once
> in the system.)

templates are not memory hog if used correctly. (if you use templates only
for the interface, they cause no bloat (as they dont necessarily generate
any code at all for type conversions needed to make it typesafe)).

// note this container has same restrictions as void* container, that you
// can only place pointers to it.
template<class T> class array : public voidcontainer {
    void insert(T *obj) { voidcontainer::insert((void*)obj); }
    T *get() { return (T*)voidcontainer::get(); }
}

They do generate quite alot of debugging information though, so strip is
really useful for those files made with templates. Both these are inlined
and basically does nothing. (some people said mico does large wrappers etc...
I believe that's mostly debugging information and not much code in them -
at least if its even nearly reasonably implemented -- never looked into it
though..)

But then, you can misuse this tool and result is bloat... but then, you can
do that with any tool.

-- 
-- Tero Pulkkinen -- terop@modeemi.cs.tut.fi --



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]