Top 6 C Libc Projects
-
Project mention: Release Cosmopolitan v4.0.0 ยท jart/cosmopolitan | news.ycombinator.com | 2025-01-23
-
InfluxDB
InfluxDB โ Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
printf
Tiny, fast, non-dependent and fully loaded printf implementation for embedded systems. Extensive test suite passing.
-
I would be shocked if they weren't using a test suite, especially given all the platforms and devices Linux supports. POSIX has a test suite, and there are several Linux test suites [1], [2]. Although, I would think that an architecture port is fairly straightforward. It's reverse-engineering and writing all the device drivers, but devices generally have a well-known interface (and, therefore, presumably tests). The OpenGL drivers are being tested against the official OpenGL test suite.
Of course, there are no guarantees that it runs correctly. Probably doesn't, given that even Apple and Microsoft's software don't run correctly, either. But saying software doesn't run perfectly in all cases is almost tautological.
[1] https://github.com/phoronix-test-suite/phoronix-test-suite
[2] https://github.com/linux-test-project/ltp
-
Project mention: Managarm: Pragmatic microkernel-based OS with asynchronous I/O | news.ycombinator.com | 2024-07-27
-
libc
libc targeted for embedded systems usage. Reduced set of functionality (due to embedded nature). Chosen for portability and quick bringup. (by embeddedartistry)
-
LibSee
Link to this library and it will log all the LibC functions you are calling and how much time you are spending in them!
Project mention: Consistently Making Wrong Decisions Whilst Writing Recreational C | news.ycombinator.com | 2024-08-24Very cool! I've started a similar project around `LD_PRELOAD` a few months ago to profile the time different programs spend on LibC calls. Provoking failures was the next step :)
Logging nicely was also an issue. I decided to avoid linking to any other symbols and implemented it with inline Assembly for x86/64 and aarch64: https://github.com/ashvardanian/LibSee/blob/fdae92e71c449c91...