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
Copy file name to clipboardExpand all lines: docs/build-insights/tutorials/build-insights-function-view.md
+8-11Lines changed: 8 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: "Tutorial: Build Insights functions view"
3
-
description: "Tutorial on how to use Build Insights function view to troubleshoot build time and forceinlines function inlining costs."
4
-
ms.date: 4/25/2024
2
+
title: "Tutorial: Troubleshoot build time with Build Insights functions view"
3
+
description: "Tutorial on how to use Build Insights function view to troubleshoot the impact of function inlining on build time in your C++ projects."
4
+
ms.date: 5/1/2024
5
5
helpviewer_keywords: ["C++ Build Insights", "inline function analysis", "build time analysis", "__forceinline analysis", "inlines analysis"]
6
6
---
7
-
# Tutorial: Use Build Insights to troubleshoot build time and function inlining problems
7
+
# Tutorial: Troubleshoot build time with Build Insights functions view
8
8
9
9
Use Build Insights **Functions** view to troubleshoot the impact of function inlining on build time in your C++ projects.
10
10
@@ -63,10 +63,10 @@ big ole’ long description
63
63
In the window for the ETL file, choose the **Functions** tab. It shows the functions that were compiled and the time it took to compile each function. If a function's code generation time is too small, it won't be displayed because build events with negligible impact are discarded to avoid degrading build event collection performance.
64
64
65
65
:::image type="complex" source="./media/" alt-text="alt text stuff":::
66
-
Just show the functions tab portion of the dialog with the forceinline size column, time column
66
+
Just show the functions tab portion of the dialog with the Forceinline size column, Time column
67
67
:::image-end:::
68
68
69
-
The **Time [sec, %]** column shows how long it took to compile each function. The **Forceinline Size** column shows the impact of each `__forceinline` function in terms of roughly how many intermediate instructions were generated for the inlined function. These numbers are summed, and the impact for all the inlined functions is listed for the containing function. You can sort the list by clicking on the **Time** column to see which functions are taking the most time to compile. A 'fire' icon indicates that cost of generating that function is particularly high and is worth investigating.
69
+
The **Time [sec, %]** column shows how long it took to compile each function. The **Forceinline Size** column shows the impact of each `__forceinline` function in terms of roughly how many intermediate instructions were generated for the inlined function. These numbers are summed, and the impact for all the inlined functions is listed for the containing function. You can sort the list by clicking on the **Time** column to see which functions are taking the most time to compile. A 'fire' icon indicates that cost of generating that function is high and is worth investigating.
70
70
71
71
The `Project` column indicates which project the function belongs to. Double click the **File** column to go to the source file where the function is defined.
72
72
@@ -80,14 +80,11 @@ We can see that the `foo` function is taking the most time to compile. Investiga
80
80
81
81
## Troubleshooting
82
82
83
-
- If the Functions view doesn't show any functions, you may not be building with the right optimization settings. Ensure that you're building Release with full optimizations, as described in [Set build options](#set-build-options). Also, if a function's code generation time is too small, it won't appear in the list.
83
+
- If the Functions view doesn't show any functions, you may not be building with the right optimization settings. Ensure that you're building Release with full optimizations, as described in [Set build options](#set-build-options). Also, if a function's code generation time is too small, it doesn't appear in the list.
84
84
- If the Build Insights window doesn't appear, do a rebuild instead of a build: **Build** > **Run Build Insights on Solution** > **Rebuild**.
85
85
- If you closed the Build Insights window, reopen it by finding the `.etl` file in your `%temp%` folder, where `%temp%` is a Windows environment variable that contains the path to your temporary files folder.
0 commit comments