-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Description
Originally reported at https://developercommunity.visualstudio.com/content/problem/37589/regression-debug-slow-to-start-when-always-build-i.html
Performance traces indicate that a major part of the performance problem reported comes down to calling CreateFile() + GetFileTime() instead of GetFileAttributesEx() when stating files.
This change was made in #648 to supporting symlinks as source files.
Performance traces
Dev14
Name Inc
|||+ microsoft.build.utilities.core.ni![COLD] Microsoft.Build.Utilities.FlatTrackingData.ConstructFileTable() 271.818
||||+ microsoft.build.utilities.core.ni!FlatTrackingData.UpdateFileEntryDetails 271.313
|||||+ microsoft.build.utilities.core.ni!FlatTrackingData.RecordEntryDetails 264.189
||||||+ microsoft.build.utilities.core.ni!FlatTrackingData.GetLastWriteTimeUtc 247.695
|||||||+ microsoft.build.utilities.core.ni!NativeMethods.GetLastWriteTimeUtc 208.277
||||||||+ microsoft.build.utilities.core.ni!DomainBoundILStubClass.IL_STUB_PInvoke(System.String, Int32, Microsoft.Build.Utilities.WIN32_FILE_ATTRIBUTE_DATA ByRef) 207.287
|||||||||+ kernelbase!GetFileAttributesExW 205.572
Dev15
Name Inc
|| + microsoft.build.utilities.core.ni![COLD] Microsoft.Build.Utilities.FlatTrackingData.ConstructFileTable() 2,205.569
|| |+ microsoft.build.utilities.core!FlatTrackingData.UpdateFileEntryDetails 2,201.341
|| ||+ microsoft.build.utilities.core.ni!FlatTrackingData.RecordEntryDetails 2,177.880
|| |||+ microsoft.build.utilities.core.ni!FlatTrackingData.GetLastWriteTimeUtc 2,148.838
|| ||||+ microsoft.build.utilities.core.ni!NativeMethodsShared.GetLastWriteFileUtcTime 2,055.619
|| |||||+ microsoft.build.utilities.core.ni!DomainBoundILStubClass.IL_STUB_PInvoke(System.String, UInt32, UInt32, IntPtr, UInt32, UInt32, IntPtr) 1,735.259
|| ||||||+ kernelbase!CreateFileW 1,724.177
Reactions are currently unavailable