Nice article! I think eventually you need to move to macros to support multiple key/value types in C. Just leaving some macro implementations for reference:
Looks like you're compiling C code with -O2. Does Rust build set -O3 on clang? Did you try -O3 with C? I know it's not guaranteed to be faster, just curious.
Xiami is widespread brand in many countries because its products are really cheap and looks like this trend will continue for the next years. It's very frustrating to see this. Western world should impose standards to prevent it.
I think when you don't have a competitor, being slow is okay. People will use your product but otherwise performance matters. Eventhough it never matters as much as your feature set.
How do you explain then that iphones took over the market, even though Nokias had many more features? Speed, or the feeling of speed, was part of it, I am sure
I didn't mean "more features are better". Sometimes, even a single killer feature is better than many features. Speed might be one of the reasons Iphone's success but how about this : If Iphone's were %20 slower than they were, would it take over the market ? I think it would. This doesn't mean being fast didn't help them. My point is, being fast is not enough all alone but being fast with a good feature set is great.