4 ms·
Benefits and costs of writing a Posix kernel in a high-level language (2018) [pdf]
- dang 5y agoDiscussed at the time: The benefits and costs of writing a POSIX kernel in a high-level language - https://news.ycombinator.com/item?id=18171447 https://news.ycombinator.com/item?id=18171447 - Oct 2018 (96 comments)
- chakkepolja 5y agoAlso https://news.ycombinator.com/item?id=24572370 https://news.ycombinator.com/item?id=24572370
- bigcat123 5y ago> manages to get within 5-15% of a traditional kernel for the things they measured. That is impressive. Top comment from the linked thread. This is a bit out of context. 5-15% in any measurements to mainstream software is too easy. Even if it's operating system. We all know that. This is why almost any papers that compare a research project's products with a mainstream production one in terms of performance is usually just for establishing context than actually comparison.
- gandalfgeek 5y agoShort video explainer of the paper: https://youtu.be/EU6Hqk193ws https://youtu.be/EU6Hqk193ws
- KerrAvon 5y agoThe problem with this is as I understand it is that if GC turns out to be a problem for your particular application, you can’t get rid of it. You can only change GC strategies (language/runtime permitting). You can’t fully optimize away GC overhead.
- p_l 5y agoYou can avoid GC programming in GC'd language (we have over 40 years of data on how to do that!), but you can't retrofit GC onto non-GC language and get full benefit (though Boehm GC is still going to make your C/C++ program better for all parts that use naive malloc/free scheme)
- ncmncm 5y agoTl;dr: We coded a kernel mostly in Go. It worked OK for what we tried. Calling Go "high-level" is absurd. Apparently the authors are using the word in place of "garbage-collected", as if that had anything to do with a level. Go is by quite a margin the lowest-level obligate-GC language I know of. (That does not, by the way, mean I think it is "bad".)