Hellwig Geisse wrote in
<1644006490.2458.78.camel(a)mni.thm.de>:
|Hi Thomas,
|
|On Fr, 2022-02-04 at 20:45 +0100, Thomas Paulsen wrote:
|> I tell you one thing: I never ever experienced any problems with
|> traditional malloc()/free().
|
|did you ever write a program which does heavy malloc()/free()
|on complicated (i.e., shared) data structures *and* runs for
|days, perhaps weeks? IMO it's very difficult to do this without
Yes.
|a GC, and you have to exercise quite an amount of discipline
|to do it right.
And i fail to see the relationship really.
Especially given that all kernels and all daemons i know (he!) are
all written in C.
Object based programming is surely easier to manage, as containers
manage containers manage containers manage whatever allocations.
So you have a very natural chain of life, so to say.
|> A kernel using GC is a kernel written by inexperienced kids.
|
|Well, not exactly. Niklaus Wirth's Oberon kernel (around 1990)
|used a GC, and it did that quite efficiently.
Well i have no idea of that also really, so i am not saying
anything. I never liked GC; i looked at the source of "that" C GC
however (yes, i have forgotten the name).
It maybe different to languages like Nim or Lua or, sigh, JAVA, Go
and such environments etc., where possibly every object is
reference counted. And that where recursive mutexes are declared
evil for performance reasons, and kernel code is full of
ASSERT(is_locked()) stuff.
But this is speculative execution and thus far out of my league.
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)