Skip to content

index: IR staging and index read dominate non-engine build time, and AXIOMCODE_REINDEX=1 does not force a rebuild #1975

Open

Description

@swapnilpaliwal-sd

Part of #1835.

Two problems in axiomcode index on medium and large repositories:

  1. Build time spent outside the engine. On a ~1,300-file Python project the IR staging step alone takes about 12 s of CPU, and the index step that reads the IR into graph.sqlite takes about 13 s wall / 10 s CPU. Neither does any resolution work; both are dominated by reading and rewriting text rows. A cold index of that project spends about 119 CPU-s in total.
  2. AXIOMCODE_REINDEX=1 does not force a rebuild. It is documented to rebuild the graph, but when the source files are unchanged the build still answers "graph up to date" and rebuilds nothing.

Expected: staging and indexing cost a small fraction of the build, and AXIOMCODE_REINDEX=1 axiomcode index always rebuilds. The resulting graph must be identical.

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

Metadata

Metadata

Labels

buildBuild, packaging and developer setup

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions