Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Start winding down cxx1.DeclByName in favor of per-kind name tables
Summary: Refactor the name tables in cxx1.angle while I'm here. In pp.angle, add DefineLowerCase. Instead of storing one table (DeclByName) with a kind column and the normal name form, We can either: - store the lower case name and the decl or - the lower case name and its normal form, then do regular name search For macros its a bit moot. Try both. lower case to decl table; ``` pp1.DefineLowerCase.1 count: 7261521 size: 797445483 (760.50 MiB) 0.2993% ``` vs bare name table plus define fact: ``` pp1.Macro.1 count: 3156232 size: 355522618 (339.05 MiB) 0.1334% pp1.Define.1 count: 7261521 size: 403166509 (384.49 MiB) 0.1513% ``` once we've done all kinds we can remove ``` cxx1.DeclByName.5 count: 22936096 size: 2345771072 (2.18 GiB) 0.8804% ``` To save space we could do lower -> normal strings, like we usually do, then look up the decl Reviewed By: simonmar Differential Revision: D65985964 fbshipit-source-id: b509933018220a2bc1fc0d5b4d51923b8fe2e9b0
- Loading branch information