croaring-rs
Rust FFI wrapper for CRoaring (by RoaringBitmap)
bitvec
A crate for managing memory bit by bit (by ferrilab)
croaring-rs | bitvec | |
---|---|---|
1 | 17 | |
153 | 1,138 | |
0.0% | 0.4% | |
7.1 | 0.0 | |
26 days ago | 13 days ago | |
C | Rust | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
croaring-rs
Posts with mentions or reviews of croaring-rs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-02.
-
Roaring-rs, better-compressed bitsets, is seeing the most important performance speed-up to date
Are there any benchmarks against https://github.com/saulius/croaring-rs?
bitvec
Posts with mentions or reviews of bitvec.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-14.
-
bitcode 0.4 release - binary serialization format
I was also under the false impression that bitwise encoding was slow. When I first implemented bitcode with bitvec I got performance 20x worse than bincode. After writing my own implementation I was able to get much better performance.
-
An optimized replacement of the infamous std::vector<🅱️ool>
interesting; i'll have to compare this to my rust counterpart. your numbers indicate some clever implementations i'd love to read
-
You need to stop idolizing programming languages.
Not to mention having a lackluster std which causes you to use nonstardard not so well documented crates and a 40K LoC library to do "bit-twiddling" (the lib, https://github.com/bitvecto-rs/bitvec the blog that says "twiddle bits" https://blog.adamchalmers.com/making-a-dns-client/ and for crying out loud the blogger also used the language the author mentioned and I quote "ergonomics AND speed AND correctness")
- bit-twiddling tricks. It's the perfect example of Rust's no-compromises "ergonomics AND speed AND correctness" ideals
-
An Armful of CHERIs: Memory Safety in the processor. Do we still need safe languages with CHERI?
https://github.com/bitvecto-rs/bitvec/issues/135 is a very funny read about how to perform inttoptr with provenance retention
-
bitvec 1.0.0 Released
Technically #135 gives me license to yank affected crates, but since the only exploit is "Miri crashes exactly one test out of the suite" it's not really worth it to be a stickler. Call it a truce
-
What are some creative/advanced uses of macro_rules?
My friend Nika wrote a macro that packs a sequence of 1, 0, … tokens into a correctly structured bit-buffer, adaptable over any register type or bit-ordering, at compile time. It's now basically this whole file
-
Where do I document a published crate?
if you are interested in a user manual, you can use mdbook as well. for an example, my bitvec project uses mdbook (book.toml) and a github action (.github/workflows/gh-pages.yml) to compile the guide and host it as a github pages website. it's slightly more complicated, and i'd like docs.rs to follow hexdoc.pm's example of hosting both api docs and prose, but until then this is a pretty reasonable solution.
-
Idiomatic Way to Validate Struct Field Values
the first one
-
When and how to use traits?
i would browse the standard library, tower, nom, or my own bitvec to see layout and trait/record separation. in particular, std::io and std::net may be of use: io::Read and io::Write are pervasive examples of implementing unixy file-descriptor-like behavior in the type system
What are some alternatives?
When comparing croaring-rs and bitvec you can also consider the following projects:
roaring-rs - A better compressed bitset in Rust
nom - Rust parser combinator framework
pacaptr - Pacman-like syntax wrapper for many package managers.
rfcs - RFCs for changes to Rust
flapigen-rs - Tool for connecting programs or libraries written in Rust with other languages
time - The most used Rust library for date and time handling.
inkwell - It's a New Kind of Wrapper for Exposing LLVM (Safely)
byteorder - Rust library for reading/writing numbers in big-endian and little-endian.
rusqlite - Ergonomic bindings to SQLite for Rust
tower - async fn(Request) -> Result<Response, Error>
hardcaml - Hardcaml is an OCaml library for designing hardware.
alacritty - A cross-platform, OpenGL terminal emulator.