You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently when I build a project with IB, CompileScore will only show the results from my machine, so I can choose between partial data, or a 7 hours build time.
Is it possible to add Incredibuild support? Awesome plugin btw.
The text was updated successfully, but these errors were encountered:
I am assuming you are using MSVC to build your project. In this case the method Microsoft has created to extract the build events is by capturing them at the OS level afaik. This means that while a build recording is happening, anything that MSVC will compile in your machine will be captured. This has the following traits:
It is great as it will work under any build system, internal or external to Visual Studio, even recording from the command line, without having to change anything ( no extra compiler flags ).
Anything built on a helper machine somewhere else won't be recorded
A compilation triggered on a different machine but with some sources built on your machine as a helper in a distributed system will sneak into your recording.
Building 2 different solutions at the same time on the local machine will have both data merged together in the recording.
With distributed builds, there are 2 problems that need to be solved:
Knowing which Translation Unit belonged to which project or solution job.
Making the distributed build system to return extra processed data ( like some sort of local report for those files that we should be able to merge together later )
For clang the solution should be easier, as the way it reports the profiling data is by generating a .json file next to the .obj file. This means that we should only need a way to migrate back that file from the helper machine.
Sorry for the bad news, but what I have done in the past for massive projects is to leverage the fact that usually those projects have a nice server infrastructure in the company. We can then perform a nightly/weekend full non distributed compilation on the servers and store the data in a shared folder. Then we can make the extension point to that location and have 'up to date' build data without doing any extra action. This also opens the door to have some nice telemetry data and even add alerts when big changes happen, or weekly reports with the hotspots that should be addressed.
Currently when I build a project with IB, CompileScore will only show the results from my machine, so I can choose between partial data, or a 7 hours build time.
Is it possible to add Incredibuild support? Awesome plugin btw.
The text was updated successfully, but these errors were encountered: