[PATCH] D158872: [clang][ASTMatchers] Add a few type-related Matchers
Ding Fei via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 29 18:25:20 PDT 2023
danix800 added a comment.
In D158872#4626272 <https://reviews.llvm.org/D158872#4626272>, @sammccall wrote:
> In D158872#4626095 <https://reviews.llvm.org/D158872#4626095>, @aaron.ballman wrote:
>
>> Out of curiosity, are you testing on Windows with MSVC? My understanding on build time performance impacts was that it's debug builds with MSVC that get hit especially hard. (I can test that setup but I could use some help figuring out how you tested compile times so I can do a similar test instead of something totally different from what you tried.)
>
> I'm not :-( I don't have a windows machine, and the VM I used to have has bitrotted beyond repair (not sure how useful benchmarks from there would be anyway).
>
> This is with clang on linux, just running `time clang-check-14 include/clang/ASTMatchers/ASTMatchers.h` a few times.
> The "deps only" test was `#if 0` ing out all the code in `ASTMatcher.h`, and commenting out the `ASTMatchers/*` includes, and repeating the same.
> For object files I just added a dummy `ASTMatchers.cpp` with only `#include "clang/ASTMatchers/ASTMatchers.h"`.
>
> I guess the equivalent of clang-check would be `/Zs`, not sure the best way to feed it the right flags...
Thanks for the testing. I can do the windows part with MSVC cl.exe.
1. `ASTMatchers.h`: ~3.5s
2. "Deps only": ~3.2s
3. `ASTMatchers.cpp` obj: 8K
$ uname -a
MINGW64_NT-10.0-20348 WIN-LH267487PAC 3.3.3-341.x86_64 2022-01-17 11:45 UTC x86_64 Msys
$ echo $SHELL
/usr/bin/bash
$ cat test.ps1
& "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x64\cl.exe" /permissive- /MP /we"4238" /GS /Zc:preprocessor /W4 /wd"4141" /wd"4146" /wd"4244" /wd"4267" /wd"4291" /wd"4351" /wd"4456" /wd"4457" /wd"4458" /wd"4459" /wd"4503" /wd"4624" /wd"4722" /wd"4100" /wd"4127" /wd"4512" /wd"4505" /wd"4610" /wd"4510" /wd"4702" /wd"4245" /wd"4706" /wd"4310" /wd"4701" /wd"4703" /wd"4389" /wd"4611" /wd"4805" /wd"4204" /wd"4577" /wd"4091" /wd"4592" /wd"4319" /wd"4709" /wd"5105" /wd"4324" /Zc:wchar_t /I"C:\Users\Administrator\source\repos\llvm-project\build-main-vs2022\tools\clang\lib\ASTMatchers" /I"C:\Users\Administrator\source\repos\llvm-project\clang\lib\ASTMatchers" /I"C:\Users\Administrator\source\repos\llvm-project\clang\include" /I"C:\Users\Administrator\source\repos\llvm-project\build-main-vs2022\tools\clang\include" /I"C:\Users\Administrator\source\repos\llvm-project\build-main-vs2022\include" /I"C:\Users\Administrator\source\repos\llvm-project\llvm\include" /Gm- /O2 /Ob2 /Zc:inline /fp:precise /U"NDEBUG" /D "_UNICODE" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /D "_GLIBCXX_ASSERTIONS" /D "_LIBCPP_ENABLE_ASSERTIONS" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_WARNINGS" /D "_SCL_SECURE_NO_DEPRECATE" /D "_SCL_SECURE_NO_WARNINGS" /D "__STDC_CONSTANT_MACROS" /D "__STDC_FORMAT_MACROS" /D "__STDC_LIMIT_MACROS" /D CMAKE_INTDIR=\"Release\" /errorReport:prompt /WX- /Zc:forScope /GR /Gd /Oi /MD /std:c++17 /EHsc /nologo /Fp"obj.clangASTMatchers.dir\Release\obj.clangASTMatchers.pch" /diagnostics:column /Zc:__cplusplus /bigobj -w14062 /Gw /I"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include" /I"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\atlmfc\include" /I"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt" /I"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\UnitTest\include" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt" /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\cppwinrt" /c ..\clang\include\clang\ASTMatchers\ASTMatchers.h /TP
$ time powershell ./test.ps1
ASTMatchers.h
real 0m3.143s
user 0m0.015s
sys 0m0.000s
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158872/new/
https://reviews.llvm.org/D158872
More information about the cfe-commits
mailing list