rust-lang / rust-lang/rust-analyzer

SCIP indexing is single threaded

Open
#18,140 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-perf
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

SCIP indexing appears to be single threaded, for instance when building the SCIP index for mozilla-central:

mozilla-central ➜ time -v rust-analyzer +nightly scip .
…
Generating SCIP finished 1175.183132122s
        Command being timed: "rust-analyzer +nightly scip ."
        User time (seconds): 1291.07
        System time (seconds): 28.56
        Percent of CPU this job got: 110% (on a 12-threads machine)
        Elapsed (wall clock) time (h:mm:ss or m:ss): 19:49.03

Contributor guide

Open the contributing guide

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 reproducing the reported rust-analyzer +nightly scip . command on mozilla-central and inspect the SCIP indexing path with profiling. Determine where indexing is serialized and establish a measurable completion criterion based on parallel CPU use and reduced elapsed time.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
performance, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.