m4b / m4b/goblin

Lazy/streaming interface for Archive?

Open
#229 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.5k
Forks
202
PR merge metrics
No merged PRs in 30d

Description

Looks like the Archive requires the entirety of the archive to be loaded into memory. With Read + Seek, would it be possible to change this to be lazy-loaded, only reading the members and then reading the contents of each member as they're requested? I'm working with .a files that may be relatively big so this would be a great help. Also I'd be interested in helping implement this.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Rust Archive implementation and tracing how it currently uses Read and Seek while loading archive members. Compare the existing loading behavior with the requested lazy member access, then identify the API and lifetime constraints. Done means large .a files no longer require all member contents in memory and requested contents remain readable.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.