Landing: 8a3aa5492993

Project / Subsystem

gcc / c++/modules

Date

2026-06-05

Author

Patrick Palka

Commit

8a3aa549299337ffee8d808bf7d997b7cb1f99fe

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
c++/modules
patch_id
commit_hash
8a3aa549299337ffee8d808bf7d997b7cb1f99fe
source_type
github
headline
Disable dependent ADL inside C++ header units to improve stream-in performance.
tldr
Dependent Argument-Dependent Lookup (ADL) is now disabled within C++ header units to prevent significant slowdowns in module stream-in.
author
Patrick Palka
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • c++
  • modules
  • performance
  • adl
discussion_id_link
bugzilla_pr
date
2026-06-05T00:00:00.000Z

This commit disables dependent Argument-Dependent Lookup (ADL) when processing C++ header units. This change directly addresses a significant performance regression, roughly doubling the stream-in time for the std module when <bits/stdc++.h> is built as a header unit. Because header units do not discard or hide entities, dependent ADL is not strictly necessary in this context and its removal restores module stream-in performance to previous levels.