Split rslib into smaller crates to speed up incremental builds
- Dominant language
- Rust
- Stars
- 30.5k
- Forks
- 3.2k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 72
Description
## Problem
The anki crate (rslib/) is a very large crate. Even a small change to any file in rslib/ forces a full recompilation of the entire crate, resulting in very long build times.
## Proposed Solution
Split rslib into smaller, feature-specific sub-crates (e.g. anki_scheduler, anki_search, anki_sync, anki_storage). This way only the sub-crate containing the changed file needs recompiling.
There is already a precedent for this in the form of rslib/i18n, rslib/proto subcrates.
Contributor guide
Research direction
Start by examining the large anki crate in rslib/ and the existing rslib/i18n and rslib/proto subcrates as precedents. Identify feature-specific boundaries for smaller crates such as anki_scheduler, anki_search, anki_sync, and anki_storage; done means changes recompile only the affected sub-crate rather than all of rslib/.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100