Skip to content

Commit 75e68e7

Browse files
TylerMSFTTylerMSFT
authored andcommitted
draft cleanup pass
1 parent 265efae commit 75e68e7

7 files changed

Lines changed: 48 additions & 53 deletions

docs/build-insights/tutorials/build-insights-function-view.md

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
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
55
helpviewer_keywords: ["C++ Build Insights", "inline function analysis", "build time analysis", "__forceinline analysis", "inlines analysis"]
66
---
7-
# Tutorial: Use Build Insights to troubleshoot build time and function inlining problems
7+
# Tutorial: Troubleshoot build time with Build Insights functions view
88

99
Use Build Insights **Functions** view to troubleshoot the impact of function inlining on build time in your C++ projects.
1010

@@ -63,10 +63,10 @@ big ole’ long description
6363
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.
6464

6565
:::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
6767
:::image-end:::
6868

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.
7070

7171
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.
7272

@@ -80,14 +80,11 @@ We can see that the `foo` function is taking the most time to compile. Investiga
8080

8181
## Troubleshooting
8282

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.
8484
- If the Build Insights window doesn't appear, do a rebuild instead of a build: **Build** > **Run Build Insights on Solution** > **Rebuild**.
8585
- 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.
8686

8787
## See also
8888

8989
[Inline functions (C++)](../../cpp/inline-functions-cpp.md)\
90-
[Tutorial: vcperf and Windows Performance Analyzer](vcperf-and-wpa.md)\
91-
[Reference: vcperf commands](../reference/vcperf-commands.md)\
92-
[Reference: Windows Performance Analyzer views](../reference/wpa-views.md)\
93-
[Windows Performance Analyzer](/windows-hardware/test/wpt/windows-performance-analyzer)
90+
[Tutorial: Use Build Insights to troubleshoot #include build time](build-insights-included-files-view.md)

0 commit comments

Comments
 (0)