4 ms·
There's a mature open source library for them packaged for Arch and other distros. Using that would be less work than trying to implement it from scratch.
by gradschool 4y ago
There's a mature open source library for them packaged for Arch and other distros. Using that would be less work than trying to implement it from scratch.
- eatonphil 4y agoAre you suggesting there aren't mature implementations of hash maps in C you can easily vendor?
- BaculumMeumEst 4y agoWhat does “vendor” mean in this context? Is it just a synonym for “distribute”?
- nicoburns 4y agoIt means including a library in your codebase via manually copying the files in (but generally in their own subdirectory and without modifying them so that it is easy-ish to update to a new version of the library by simply copying in the files from the new version). I believe the name comes from a tradition of putting such code in a directory named vendor/name-of-library or vendor/name-of-vendor/name-of-library which allowed for distinguishing between the src directory which was first-party code and the vendor directory which contained code form 3rd party vendors (often such code was proprietary and had to be bought/licensed). Nowadays the term is used to differentiate between a manual approach and the use of a package manager.
- eatonphil 4y agoIt's basically the professionally sanctioned version of copy and paste. With all the good and bad that that entails. Based on my long builds times and erratic network behavior in CI I'm beginning to think every system should just vendor.
- gradschool 4y agoI was only suggesting what I thought was the easiest option. If others are even easier, then I'm even more curious about what might rule them out. I hope to learn something.