Skip to content

Build-Aware Code Context at Million-Line Scale: ByteAsk Context on LLVM, the Linux Kernel and Large C/C++ Repositories

Pratyush Saini, CTO, ByteAsk Research; Anirudha Kulkarni, CEO, ByteAsk Research · [email protected] · [email protected] · November 9, 2026 · Preprint · 5 pages

First page of the paper

Key findings

  1. ByteAsk Context indexed the Linux kernel's build in 9.3 minutes and LLVM's in 13.7, while Graphify did not finish LLVM in 3 hours.
  2. After a source-file edit, Context re-indexed in 5.8 seconds instead of 105–112 seconds, and 9 of 10 answers matched the edited code.
  3. On held-out issues, Context ranked a changed file first in 57% of tasks, against 30% for sgrep and 20% for Probe.

Abstract

Large language model (LLM) coding agents now fix real issues in real projects, but most of that progress has come in a few widely used languages. C and C++ remain far less explored, although they underpin operating systems, compilers and embedded software, and their largest codebases run to millions of lines. There, the meaning of a name depends on how the project is built: macros, templates, overloads and conditional code make text search return many candidates and leave the agent to sort them out. ByteAsk Context understands a codebase the way the project's own build does and tells an agent where a change belongs. On one 48-CPU machine it was ready to answer on the Linux kernel's build in 9.3 minutes and on LLVM's in 13.7, while Graphify did not finish LLVM in 3 hours. After a source-file edit it re-indexed in 5.8 seconds, against 105–112 seconds for a full index (an edit to a widely included header took 87.3 seconds), and 9 of 10 answers after an edit matched the new code, against 0 of 10 from a stale index. On held-out issues it ranked a changed file first in 57% of tasks, against 30% for sgrep and 20% for Probe.

Retrieval by project size

A line chart of the share of held-out tasks where each tool ranked a changed file first, across three project-size bins. Context's share in the largest bin is at least its share in the smallest, while every other tool's share is lower there.
How often each tool ranked a file that the fix changes first (top-1), by project size in lines of C and C++ code, on 78 held-out issues. Each point is a share of the tool's own eligible tasks in that bin; markers are offset slightly so that equal values stay visible. The largest bin holds two projects. Drawn from Table 3 of the paper.

Cite this paper

Pratyush Saini and Anirudha Kulkarni. Build-Aware Code Context at Million-Line Scale: ByteAsk Context on LLVM, the Linux Kernel and Large C/C++ Repositories. ByteAsk Research, preprint, November 2026. byteask.ai/research/context-large-codebases-cpp

@misc{saini2026largecodebases,
  title        = {Build-Aware Code Context at Million-Line Scale: ByteAsk Context on LLVM, the Linux Kernel and Large C/C++ Repositories},
  author       = {Saini, Pratyush and Kulkarni, Anirudha},
  year         = {2026},
  month        = nov,
  institution  = {ByteAsk Research},
  howpublished = {\url{https://byteask.ai/research/context-large-codebases-cpp}},
  note         = {Preprint. Code and data: \url{https://github.com/ByteAsk/context-large-codebases-cpp}}
}

Questions about the study: [email protected] All research