[Ns-developers] ns3: boehm garbage collection
Gustavo Carneiro
gjcarneiro at gmail.com
Wed Jan 31 09:58:17 PST 2007
On 1/31/07, craigdo at ee.washington.edu <craigdo at ee.washington.edu> wrote:
>
>
> > OK, here are correct figures. CPU time with GC is almost
> > double, virtual memory size is about the same, RSS is
> > slightly larger with GC.
> >
> > I propose to finish this futile discussion and propose to
> > not use GC :-)
>
> I'm coming into this discussion late, but I agree with this
> perspective. GC
> would be low on my list of priorities even if there were no performance
> impacts. In an earlier message someone mentioned that python would be a
> higher priority and I also agree with that.
It was I that suggested python, the same person that suggested boehm GC :)
In my experience, in system-level programming there tend to be caches of
> frequently allocated items and malloc / free tends to be an interim thing
> that is quickly optimized out. Although GC may be convenient, and cool,
> it
> may have limited usefulness in the long run in the low-level system. It
> is
>
nice for high-level programming, but certainly not a requirement. If
> high-level programming ends up as scripting in python, it may not be an
> issue at all since python deals with GC in its own way.
I agree but I was trying to make the core NS code more easy to use even
from C++, since in many situations you can't afford to use python. This
stemmed from the Packet parameter passing semantics discussion we had here a
couple of months back.
As far as the python interfaces go, I think that they are more important
> since python scripting is an architectural feature we want. IMO it would
> be
> good to prototype the system from top to bottom as soon as possible to
> work
> out any surprises before proceeding to what I see as nice-to-have features
> like garbage collection.
Yes, I really really want to have Python some day.
But it's not true that we a top-down design is always the best. Sometimes
a lower-layer requirement has a big impact on the higher-layer interfaces.
I prefer an evolutionary design, where you roughly design both higher layers
and lower layers first, then do further iterations to improve them.
Thanks,
--
Gustavo J. A. M. Carneiro
"The universe is always one step beyond logic."
More information about the Ns-developers
mailing list