Skip to content

port logic to rust #70

Description

@Asifdotexe
  1. Prioritize CPU-Bound Tasks First: The guide explicitly recommends starting with computationally intensive, CPU-bound tasks. The git
    blame calculations for thousands of files across thousands of commits is pure CPU grinding. Rust will chew through this, dropping our 20+
    hour runtime to a fraction of that time.
  2. Strategy 3 (CLI Tools): The guide recommends CLI tools as the perfect entry point. We don't need to mess with complex FFI (PyO3) or
    microservices. We can simply build a self-contained Rust binary (theseus-cli) that reads the manifest.json, processes the Git repos
    using git2-rs, and spits out the final _graph.json files for the frontend.
  3. Ecosystem Swaps: We will directly swap our Python libraries for the Rust equivalents mentioned:
    • Python's json module ➔ serde and serde_json (blazing fast serialization).
    • Python's argparse (or implicit script args) ➔ clap (clean command-line parsing).
    • Python's subprocess (shelling out to git) ➔ git2 crate (doing git blame completely in-memory with C-bindings).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions