-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aggregate template instantiations #39
Comments
Sounds good! That's a really good idea. It think this might need to be an option for the data extractor itself, as I can't properly merge on the extension the accumulated times when dealing with nested initializations and such. As you don't want a child instantiation to count double time. Also collapsing template arguments on the class level will mean that nested structures will all have its template arguments collapsed. This should be a simple string replace when reading the symbols. |
I also saw that ClangBuildAnalyzer does something similar, using
|
And WPA: https://devblogs.microsoft.com/cppblog/profiling-template-metaprograms-with-cpp-build-insights/ vcperf -start -level3 MyVCSession
vcperf -stop -templates MyVCSession build.etl
wpa build.etl |
I am not sure I follow the question here. Are we talking about the CompileScore App or Visual Studio Extension? You can perform the same .etl generation that vcperf does using the ScoreDataExtractor. This way you can build the project once, extract the .etl/.ctl and then extract different .scor ( aggregation of data ) with different parameters and sizes. When performing the stop and generating the scor directly, the .etl generation is skipped as it is not needed and we can instead parse the events directly and faster. tldr: the ScoreDataExtractor can generate:
Technically if we want to allow the App to process .etl directly, we can just make the App perform : Tbh, the more flexible the input format is the better, it could even be a folder with the .json files that clang produces too. Is this what you meant? |
The Visual Studio extension. |
I understand, Adding an option in the extension options to also generate the etl when recording the events should pretty simple to add. If I may ask, for what features do you need to use WPA? |
Well it was inspired by this topic, aggregating template instantiations. |
Closing this issue as the template arguments can now be collapsed on version 1.8.1 (enabled by default). |
Thanks!
|
Yes please. |
Just looked at
Instance Function
and there were many individual entries of the formclass<T>::method<U>
.It would be nice to have the option to aggregate them by method, by class or both (displayed like
class<...>::method<...>
).The text was updated successfully, but these errors were encountered: