roaring-rs
chrono
roaring-rs | chrono | |
---|---|---|
12 | 23 | |
687 | 3,141 | |
1.3% | 1.5% | |
7.2 | 9.6 | |
7 days ago | 8 days ago | |
Rust | Rust | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
roaring-rs
-
We’re the Meilisearch team! To celebrate v1.0 of our open-source search engine, Ask us Anything!
There are issues and pull requests but I advise you to look at the milli folder in the Meilisearch repository, it’s where all the logic is done. We extensively use RoaringBitmaps, heed the LMDB wrapper and grenad when indexing.
- Roaring-rs, better-compressed bitsets, is introducing faster multiple-bitmaps operations
-
Roaring-rs, better-compressed bitsets, is seeing the most important performance speed-up to date
On some benchmarks, we are faster but most of the time we aren't. We absolutely need to introduce benchmarks with the croaring-rs library and most of those performances gain could also be achieved with other methods to do multi-ops for example.
-
What’s everyone working on this week (9/2022)?
We tried to release the new version of roaring-rs, better compressed bitset in Rust, but found out that the core library simd module was blocking us. We now have to work on std::simd to release the blocking features.
-
Meilisearch, the Rust search engine, just raised $5M
Yeah, it can be attributed to using the roaring-rs library, but not just that, we have done so much to improve the search performances by reducing the number of set-operations we do.
-
Improving GitHub Code Search
Given the shoutouts to Burntsushi and Lemire this is almost certainly a bitmap trigram index based engine similar to https://github.com/google/zoekt
The index is likely based on Roaring bitmaps, presumably https://github.com/RoaringBitmap/roaring-rs in this case.
Nice architecture, exactly how I would have done it also.
- roaring-rs - What do you think about deprecating the set operation functions (intersect_with...) for the benefit of the std ops traits?
-
What's everyone working on this week (17/2021)?
I have worked on roaring-rs, a very fast library to do set operations like unions and intersections, and improved the four operations by using the standard ops traits.
-
What’s everyone working on this week (13/2021)?
I have implemented a better way of specifying ranges to be inserted or removed from a RoaringBitmap by using the RangeBounds trait. The roaring-rs library exposes fast data-structures to do set operations, like intersections and unions.
chrono
- The Unix leap second mess
-
Getaddrinfo() on glibc calls getenv(), oh boy
The problem is that this effects higher languages too, because they often build on libc. And on some OSes, they don't have a choice, because the system call interface is unstable and/or undocumented).
For example in rust, multiple time libraries were found to be unsound if `std::env::set_env` was ever called from a multi-threaded program. See:
https://github.com/time-rs/time/issues/293 and https://github.com/chronotope/chrono/issues/499
https://github.com/rust-lang/rust/issues/27970
https://github.com/rust-lang/rust/issues/90308
- Choosing the Right Rust Web Framework: An Overview
-
ZeroVer: 0-Based Versioning
> I think library authors should be more relentless and break compatibility every few years. We just need some conventions to not do so very often.
I indeed did this years ago---I'm the original author of Chrono [1]---and it wasn't well received [2] [3] [4]. To be fair, I knew it was a clear violation of semantic versioning but I didn't see any point of obeying that until we've reached 1.0 so I went ahead. People complained a lot and I had to yank the problematic release. By then I realized many enough people religiously expect semantic versioning (for good reasons though) and it's wiser to avoid useless conflict.
[1] https://github.com/chronotope/chrono
[2] https://github.com/chronotope/chrono/issues/146#issuecomment...
[3] https://github.com/chronotope/chrono/issues/156
[4] https://github.com/chronotope/chrono/blob/main/CHANGELOG.md#...
-
Simple, fast and safety alternative for unzip
On that note, it would also be good to configure cargo-deny so that a CI pipeline and any maintainer can easily audit the current dependency versions. Sometimes CVEs require a new major semver (looking at you, time 0.1.x and thus chrono 0.4.x), so it's not enough to rely on people installing the tool with semver-compatible updates. Automatically auditing dependencies is really important, and given how easy cargo-deny makes it, I don't think many projects have any excuse not to configure it.
-
Is it unidiomatic/anti-pattern to use the return keyword ?
The example has been randomly taken from the [Chrono][https://github.com/chronotope/chrono/blob/main/src/offset/utc.rs] crate.
-
Will Rust drop dependency on libc and make direct system calls? when ? (Please don't mention no_std case)
libc isn't "just a wrapper". Is a massive legacy codebase filled with hacks, UBs and bugs: https://github.com/chronotope/chrono/issues/499
- chrono 0.4.20 has been released, fixing the RUSTSEC-2020-0159 issue
-
chrono 0.4.20-rc.1 has just been released!!
Would love to have people test this, you can leave feedback here: https://github.com/chronotope/chrono/issues/674.
-
Trying to learn about chrono, Duration, etc...
Security issues? I'm looking at the open issues, but haven't noticed any that seem to be security related (no security related labels either). What am I missing here?
What are some alternatives?
generic-array - Generic array types in Rust
time - The most used Rust library for date and time handling.
array_tool - Array helpers for Rust's Vector and String types
advisory-db - Security advisory database for Rust crates published through crates.io
croaring-rs - Rust FFI wrapper for CRoaring
jelly-actix-web-starter - A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster.
nym - Manipulate files en masse using patterns.
mozsearch - Mozilla code search website. (Please file bugs in bugzilla at https://mzl.la/2YtXmoN)
milli - Search engine library for Meilisearch ⚡️
chat - A telnet chat server
base_custom - Rust implementation of custom numeric base conversion.
rusqlite - Ergonomic bindings to SQLite for Rust