FastFormat
Klib


FastFormat | Klib | |
---|---|---|
- | 23 | |
57 | 4,297 | |
- | 1.6% | |
2.1 | 4.4 | |
4 months ago | 9 days ago | |
C++ | C | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
FastFormat
We haven't tracked posts mentioning FastFormat yet.
Tracking mentions began in Dec 2020.
Klib
- Factor is faster than Zig
- A simple hash table in C
-
So what's the best data structures and algorithms library for C?
It could be that the cost of the function calls, either directly or via a pointer, is drowned out by the cost of the one or more cache misses inevitably invoked with every hash table lookup. But I don't want to say too much before I've finished my benchmarking project and published the results. So let me just caution against laser-focusing on whether the comparator and hash function are/can be inlined. For example stb_ds uses a hardcoded hash function that presumably gets inlined, but in my benchmarking (again, I'll publish it here in coming weeks) shows it to be generally a poor performer (in comparison to not just CC, the current version of which doesn't necessarily inline those functions, but also STC, khash, and the C++ Robin Hood hash tables I tested).
-
Generic dynamic array in 60 lines of C
Not an entirely uncommon idea. I've written one.
There's also a well-known one here, in klib: https://github.com/attractivechaos/klib/blob/master/kvec.h
- C_dictionary: A simple dynamically typed and sized hashmap in C - feedback welcome
- Inside boost::unordered_flat_map
-
The New Ghostscript PDF Interpreter
Code reuse is achievable by (mis)using the preprocessor system. It is possible to build a somewhat usable API, even for intrusive data structures. (eg. the linux kernel and klib[1])
I do agree that generics are required for modern programming, but for some, the cost of complexity of modern languages (compared to C) and the importance of compatibility seem to outweigh the benefits.
[1]: http://attractivechaos.github.io/klib
- C LIBRARY
- boost::unordered map is a new king of data structures
- C++ containers but in C
What are some alternatives?
{fmt} - A modern formatting library
Experimental Boost.DI - C++14 Dependency Injection Library
ZBar - Clone of the mercurial repository http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
Better String - The Better String Library
kangaru - 🦘 A dependency injection container for C++11, C++14 and later
libcpuid - a small C library for x86 CPU detection and feature extraction
Better Enums - C++ compile-time enum to string, iteration, in a single header file
Serial Communication Library - Cross-platform, Serial Port library written in C++
Cppcheck - static analysis of C/C++ code
ZXing - ZXing ("Zebra Crossing") barcode scanning library for Java, Android
ctl - My variant of the C Template Library

