libmfu: Develop cache file format using variable length fields
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 200
- Forks
- 85
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 2
Description
The current cache file format uses fixed length records. It encodes the full path to each file, and to produce a fixed length field, it uses the longest path name of any file. So when writing the cache file for a large number of files in which there may be a really long file name, the output file size is inflated.
To conserve space, let's store this using variable length records. To support that efficiently, we'll either need a table in the header describing the offset of each record, or we'll need to add some end-of-record marker between records.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the libmfu cache file implementation and reading how its fixed-length records and full paths are written and read. Decide whether a header offset table or end-of-record markers fit the existing format; done means variable-length records conserve space while remaining readable by the cache logic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100