libretro / libretro/libretro-database
Compress RDB files
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.4k
- Forks
- 877
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 24
Description
I would like to propose that libretro consider compressing the RDB files. This would require support in libretro to read this format but that should be relatively straightforward. This would be useful for the following reasons:
- It reduces the database size from 117.0 MiB to 34.6 MiB (3.4x reduction) using gzip
- Highly compressible since they contain a lot of duplicate strings and numbers.
- It shrinks the size of the release artifacts for every downstream system (retroarch, batocera, retrobat, rocknix, etc.)
- They're already not editable plaintext so might as well store them as efficiently as possible.
- They're copied to handhelds where storage is a premium that can be used for games or the OS.
- It would reduce the size of the git checkout of this repo.
- Might improve performance slightly since it reduces the amount of data to read and storage not compute is usually the bottleneck
Contributor guide
No contributing guide indexed for this repository
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 reviewing the RDB files and how libretro and downstream systems currently read them. Define the compressed format, compatibility requirements, and release-artifact changes; the work is done when compressed RDB files are supported without breaking existing consumers and the size reduction is verified.
Written by the indexing model from the issue text.
Assessment
- Domain
- database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100