Skip to content

Support jsdoc output larger than available RAM #22

@erikrose

Description

@erikrose

Incrementally read the JSON using something like https://pypi.python.org/pypi/ijson/ (which looks a little unusual (strange docstring formatting, needless pass use, implements its own hand-written JSON parser) but might be okay). Then keep just the indices (app._sphinxjs_doclets_by_path and app._sphinxjs_doclets_by_class) in RAM, and push the rest out to disk. In any case, we'll want to stop storing the doclets themselves in the indices and replace them with some sort of references.

Crazy brainstorming:

  • Replace each doclet with just begin/end byte offsets where they occur in the jsdoc-emitted file, and read them in as needed, reparsing each time. Pro: no need to write all the doclets twice.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions