freenode/#lisp - IRC Chatlog
Search
23:03:19
aeth
I wonder the implications of writing something like that in Common Lisp. e.g. Memory usage is higher, so I guess you'd want to put it all in one process instead of having dozens of daemons (a few hundred MB vs. GBs of RAM usage)
23:04:43
aeth
(What I mean is that the fixed cost k in RAM usage is much higher for each process, so you could save 19k worth of RAM of you use one daemon instead of 20)
6:22:29
flip214
aeth: well, if you can share all the library and executable pages across all the processes, and need only 1MB of dynamic space or so, actual RAM usage might be the same or even smaller (because you don't need all the shared libraries' jump tables)
7:43:14
p_l
aeth: I've been looking at implementing an alternative, using ECL, though probably statically linked
7:44:43
jackdaniel
I recall someone has created init binary with ecl which was directly called by linux
7:46:52
p_l
there's nothing special about init binary except that PID1 should never exit (and of course it better reap processes)
7:52:12
p_l
also, there's no need for PID1 to use anything that requires dynamic linking, and there's no way to atomically replace multiple files, so with glibc's insanity you can get a moment where it reloads while the dynamic libs are incompatible with each other
7:52:44
p_l
yes, a freak case, but supposedly so is getting into race condition between systemd and your fingers
7:54:27
jackdaniel
since it may be bundled with the kernel it often plays crucial role when you are developing embedded boards
8:02:05
ralt
the discussion reminded me of this old project as well... https://gitlab.com/ralt/linit/
8:04:03
ralt
didn't go anywhere, but kinda shows where the limits of some implementations can be for being so high-level. At least for the old me.