diff --git a/PerfView.sln b/PerfView.sln index 61a7a5ae0..3cf7599ca 100644 --- a/PerfView.sln +++ b/PerfView.sln @@ -76,89 +76,249 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Debug|Any CPU.ActiveCfg = Debug|Win32 {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Debug|Any CPU.Build.0 = Debug|Win32 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Debug|x64.ActiveCfg = Debug|Win32 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Debug|x86.ActiveCfg = Debug|Win32 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Debug|x86.Build.0 = Debug|Win32 {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Release|Any CPU.ActiveCfg = Release|Win32 {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Release|Any CPU.Build.0 = Release|Win32 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Release|x64.ActiveCfg = Release|Win32 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Release|x86.ActiveCfg = Release|Win32 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB8}.Release|x86.Build.0 = Release|Win32 {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Debug|Any CPU.ActiveCfg = Debug|x64 {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Debug|Any CPU.Build.0 = Debug|x64 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Debug|x64.ActiveCfg = Debug|x64 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Debug|x64.Build.0 = Debug|x64 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Debug|x86.ActiveCfg = Debug|x64 {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Release|Any CPU.ActiveCfg = Release|x64 {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Release|Any CPU.Build.0 = Release|x64 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Release|x64.ActiveCfg = Release|x64 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Release|x64.Build.0 = Release|x64 + {E9980619-4016-4A4A-B7CC-F8B0E483BDB9}.Release|x86.ActiveCfg = Release|x64 {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Debug|x64.ActiveCfg = Debug|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Debug|x64.Build.0 = Debug|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Debug|x86.ActiveCfg = Debug|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Debug|x86.Build.0 = Debug|Any CPU {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Release|Any CPU.ActiveCfg = Release|Any CPU {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Release|Any CPU.Build.0 = Release|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Release|x64.ActiveCfg = Release|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Release|x64.Build.0 = Release|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Release|x86.ActiveCfg = Release|Any CPU + {B68F4968-A7CF-41CC-AD6E-373DB5E67944}.Release|x86.Build.0 = Release|Any CPU {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Debug|x64.ActiveCfg = Debug|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Debug|x64.Build.0 = Debug|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Debug|x86.ActiveCfg = Debug|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Debug|x86.Build.0 = Debug|Any CPU {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Release|Any CPU.ActiveCfg = Release|Any CPU {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Release|Any CPU.Build.0 = Release|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Release|x64.ActiveCfg = Release|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Release|x64.Build.0 = Release|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Release|x86.ActiveCfg = Release|Any CPU + {F7D0F851-9B0D-4224-91AB-7FC12477F206}.Release|x86.Build.0 = Release|Any CPU {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Debug|x64.ActiveCfg = Debug|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Debug|x64.Build.0 = Debug|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Debug|x86.ActiveCfg = Debug|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Debug|x86.Build.0 = Debug|Any CPU {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Release|Any CPU.ActiveCfg = Release|Any CPU {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Release|Any CPU.Build.0 = Release|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Release|x64.ActiveCfg = Release|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Release|x64.Build.0 = Release|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Release|x86.ActiveCfg = Release|Any CPU + {F3973FE4-DF1B-44C4-8D9C-2DE4B159CA69}.Release|x86.Build.0 = Release|Any CPU {6BAC7496-6953-41B8-9042-AAE45405A095}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6BAC7496-6953-41B8-9042-AAE45405A095}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Debug|x64.ActiveCfg = Debug|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Debug|x64.Build.0 = Debug|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Debug|x86.ActiveCfg = Debug|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Debug|x86.Build.0 = Debug|Any CPU {6BAC7496-6953-41B8-9042-AAE45405A095}.Release|Any CPU.ActiveCfg = Release|Any CPU {6BAC7496-6953-41B8-9042-AAE45405A095}.Release|Any CPU.Build.0 = Release|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Release|x64.ActiveCfg = Release|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Release|x64.Build.0 = Release|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Release|x86.ActiveCfg = Release|Any CPU + {6BAC7496-6953-41B8-9042-AAE45405A095}.Release|x86.Build.0 = Release|Any CPU {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Debug|x64.ActiveCfg = Debug|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Debug|x64.Build.0 = Debug|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Debug|x86.ActiveCfg = Debug|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Debug|x86.Build.0 = Debug|Any CPU {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Release|Any CPU.Build.0 = Release|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Release|x64.ActiveCfg = Release|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Release|x64.Build.0 = Release|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Release|x86.ActiveCfg = Release|Any CPU + {CE854091-F55D-4AD1-AA57-49CB9B60CAC0}.Release|x86.Build.0 = Release|Any CPU {80345889-A13D-4F2D-A096-98B95C55BF45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {80345889-A13D-4F2D-A096-98B95C55BF45}.Debug|Any CPU.Build.0 = Debug|Any CPU + {80345889-A13D-4F2D-A096-98B95C55BF45}.Debug|x64.ActiveCfg = Debug|x64 + {80345889-A13D-4F2D-A096-98B95C55BF45}.Debug|x64.Build.0 = Debug|x64 + {80345889-A13D-4F2D-A096-98B95C55BF45}.Debug|x86.ActiveCfg = Debug|Any CPU + {80345889-A13D-4F2D-A096-98B95C55BF45}.Debug|x86.Build.0 = Debug|Any CPU {80345889-A13D-4F2D-A096-98B95C55BF45}.Release|Any CPU.ActiveCfg = Release|Any CPU {80345889-A13D-4F2D-A096-98B95C55BF45}.Release|Any CPU.Build.0 = Release|Any CPU + {80345889-A13D-4F2D-A096-98B95C55BF45}.Release|x64.ActiveCfg = Release|x64 + {80345889-A13D-4F2D-A096-98B95C55BF45}.Release|x64.Build.0 = Release|x64 + {80345889-A13D-4F2D-A096-98B95C55BF45}.Release|x86.ActiveCfg = Release|Any CPU + {80345889-A13D-4F2D-A096-98B95C55BF45}.Release|x86.Build.0 = Release|Any CPU {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Debug|x64.ActiveCfg = Debug|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Debug|x64.Build.0 = Debug|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Debug|x86.ActiveCfg = Debug|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Debug|x86.Build.0 = Debug|Any CPU {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Release|Any CPU.ActiveCfg = Release|Any CPU {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Release|Any CPU.Build.0 = Release|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Release|x64.ActiveCfg = Release|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Release|x64.Build.0 = Release|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Release|x86.ActiveCfg = Release|Any CPU + {91DFAE19-098F-4E19-B81D-6CB36A9020D6}.Release|x86.Build.0 = Release|Any CPU {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Debug|x64.ActiveCfg = Debug|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Debug|x64.Build.0 = Debug|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Debug|x86.ActiveCfg = Debug|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Debug|x86.Build.0 = Debug|Any CPU {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Release|Any CPU.ActiveCfg = Release|Any CPU {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Release|Any CPU.Build.0 = Release|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Release|x64.ActiveCfg = Release|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Release|x64.Build.0 = Release|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Release|x86.ActiveCfg = Release|Any CPU + {E6EACF92-F22D-47DC-8EEB-9BBC4DF1E4D5}.Release|x86.Build.0 = Release|Any CPU {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Debug|x64.ActiveCfg = Debug|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Debug|x64.Build.0 = Debug|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Debug|x86.ActiveCfg = Debug|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Debug|x86.Build.0 = Debug|Any CPU {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Release|Any CPU.ActiveCfg = Release|Any CPU {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Release|Any CPU.Build.0 = Release|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Release|x64.ActiveCfg = Release|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Release|x64.Build.0 = Release|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Release|x86.ActiveCfg = Release|Any CPU + {C42873F2-D4A5-4AC7-9ADB-9CD8E1856A9B}.Release|x86.Build.0 = Release|Any CPU {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Debug|x64.ActiveCfg = Debug|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Debug|x64.Build.0 = Debug|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Debug|x86.ActiveCfg = Debug|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Debug|x86.Build.0 = Debug|Any CPU {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Release|Any CPU.ActiveCfg = Release|Any CPU {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Release|Any CPU.Build.0 = Release|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Release|x64.ActiveCfg = Release|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Release|x64.Build.0 = Release|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Release|x86.ActiveCfg = Release|Any CPU + {B9384E1B-54B5-4A41-85BD-EBAD0577BDCD}.Release|x86.Build.0 = Release|Any CPU {19281902-FBC4-48C0-962B-9FDADAF5C783}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19281902-FBC4-48C0-962B-9FDADAF5C783}.Debug|Any CPU.Build.0 = Debug|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Debug|x64.ActiveCfg = Debug|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Debug|x64.Build.0 = Debug|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Debug|x86.ActiveCfg = Debug|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Debug|x86.Build.0 = Debug|Any CPU {19281902-FBC4-48C0-962B-9FDADAF5C783}.Release|Any CPU.ActiveCfg = Release|Any CPU {19281902-FBC4-48C0-962B-9FDADAF5C783}.Release|Any CPU.Build.0 = Release|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Release|x64.ActiveCfg = Release|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Release|x64.Build.0 = Release|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Release|x86.ActiveCfg = Release|Any CPU + {19281902-FBC4-48C0-962B-9FDADAF5C783}.Release|x86.Build.0 = Release|Any CPU {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Debug|x64.ActiveCfg = Debug|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Debug|x64.Build.0 = Debug|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Debug|x86.ActiveCfg = Debug|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Debug|x86.Build.0 = Debug|Any CPU {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Release|Any CPU.ActiveCfg = Release|Any CPU {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Release|Any CPU.Build.0 = Release|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Release|x64.ActiveCfg = Release|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Release|x64.Build.0 = Release|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Release|x86.ActiveCfg = Release|Any CPU + {F7419073-A62B-42E0-9B8C-4C2C4CE243A3}.Release|x86.Build.0 = Release|Any CPU {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Debug|x64.ActiveCfg = Debug|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Debug|x64.Build.0 = Debug|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Debug|x86.ActiveCfg = Debug|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Debug|x86.Build.0 = Debug|Any CPU {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Release|Any CPU.ActiveCfg = Release|Any CPU {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Release|Any CPU.Build.0 = Release|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Release|x64.ActiveCfg = Release|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Release|x64.Build.0 = Release|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Release|x86.ActiveCfg = Release|Any CPU + {A0248EF2-8C39-478A-951E-324DDF4FF3EC}.Release|x86.Build.0 = Release|Any CPU {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Debug|x64.ActiveCfg = Debug|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Debug|x64.Build.0 = Debug|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Debug|x86.ActiveCfg = Debug|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Debug|x86.Build.0 = Debug|Any CPU {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Release|Any CPU.ActiveCfg = Release|Any CPU {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Release|Any CPU.Build.0 = Release|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Release|x64.ActiveCfg = Release|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Release|x64.Build.0 = Release|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Release|x86.ActiveCfg = Release|Any CPU + {FE5CC86D-E87E-4560-8004-8852F3DE6794}.Release|x86.Build.0 = Release|Any CPU {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Debug|x64.ActiveCfg = Debug|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Debug|x64.Build.0 = Debug|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Debug|x86.ActiveCfg = Debug|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Debug|x86.Build.0 = Debug|Any CPU {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Release|Any CPU.ActiveCfg = Release|Any CPU {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Release|Any CPU.Build.0 = Release|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Release|x64.ActiveCfg = Release|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Release|x64.Build.0 = Release|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Release|x86.ActiveCfg = Release|Any CPU + {034CB9AF-7E9E-4D96-8F71-526999D284BA}.Release|x86.Build.0 = Release|Any CPU {945509BC-A133-493B-9295-43EC708FD57F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {945509BC-A133-493B-9295-43EC708FD57F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Debug|x64.ActiveCfg = Debug|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Debug|x64.Build.0 = Debug|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Debug|x86.ActiveCfg = Debug|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Debug|x86.Build.0 = Debug|Any CPU {945509BC-A133-493B-9295-43EC708FD57F}.Release|Any CPU.ActiveCfg = Release|Any CPU {945509BC-A133-493B-9295-43EC708FD57F}.Release|Any CPU.Build.0 = Release|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Release|x64.ActiveCfg = Release|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Release|x64.Build.0 = Release|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Release|x86.ActiveCfg = Release|Any CPU + {945509BC-A133-493B-9295-43EC708FD57F}.Release|x86.Build.0 = Release|Any CPU {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Debug|x64.ActiveCfg = Debug|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Debug|x64.Build.0 = Debug|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Debug|x86.ActiveCfg = Debug|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Debug|x86.Build.0 = Debug|Any CPU {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Release|Any CPU.ActiveCfg = Release|Any CPU {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Release|Any CPU.Build.0 = Release|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Release|x64.ActiveCfg = Release|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Release|x64.Build.0 = Release|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Release|x86.ActiveCfg = Release|Any CPU + {2D5418E0-6513-4285-8B0D-53A30CBEF242}.Release|x86.Build.0 = Release|Any CPU {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Debug|x64.ActiveCfg = Debug|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Debug|x64.Build.0 = Debug|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Debug|x86.ActiveCfg = Debug|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Debug|x86.Build.0 = Debug|Any CPU {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Release|Any CPU.ActiveCfg = Release|Any CPU {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Release|Any CPU.Build.0 = Release|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Release|x64.ActiveCfg = Release|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Release|x64.Build.0 = Release|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Release|x86.ActiveCfg = Release|Any CPU + {121D62F5-0BB7-4DB5-8742-454127DF31F4}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/PerfView/JitStats.cs b/src/PerfView/JitStats.cs index 315d1d11d..89f71cabe 100644 --- a/src/PerfView/JitStats.cs +++ b/src/PerfView/JitStats.cs @@ -17,135 +17,185 @@ internal static class JitStats { public static void ToHtml(TextWriter writer, TraceProcess stats, TraceLoadedDotNetRuntime runtime, string fileName) { - JITStatsEx statsEx = JITStatsEx.Create(runtime); + JITStatsEx statsEx = JITStatsEx.Create(runtime); var usersGuideFile = ClrStatsUsersGuide.WriteUsersGuide(fileName); bool hasInliningEvents = runtime.JIT.Stats().InliningSuccesses.Count > 0 || runtime.JIT.Stats().InliningFailures.Count > 0; writer.WriteLine("
Jitting Trigger | " + + "Num Compilations | " + + "% of total jitted compilations | " + + "Jit Time msec | " + + "Jit Time (% of total process CPU) | " + + "
---|
" + - "This process does not use background JIT compilation. If there is a lot of JIT time and NGEN is not an possible\r\n" + - "you should consider using Background JIT compilation.\r\n" + - "See Guide to Background JIT for more." + - "
", usersGuideFile); - } - else - { - writer.WriteLine("" + - "Background JIT compilation events are not being collected. If you are interested in seeing the operation of Background JIT\r\n" + - "Enabled the 'Background JIT' checkbox in the 'Advanced' section of the collection dialog when collecting the data." + - "See Guide to Background JIT for more." + - "
", usersGuideFile); - } - } - - writer.WriteLine("" + - "Below is a table of the time taken to JIT compile the methods used in the program, broken down by module. \r\n" + - "If this time is significant you can eliminate it by NGening your application. \r\n" + - "This will improve the startup time for your app. \r\n" + - "
"); + double diff = statsEx.TotalModuleStats[y].TotalCpuTimeMSec - statsEx.TotalModuleStats[x].TotalCpuTimeMSec; + if (diff > 0) + return 1; + else if (diff < 0) + return -1; + return 0; + }); - writer.WriteLine("" + - "The list below is also useful for tuning the startup performance of your application in general. \r\n" + - "In general you want as little to be run during startup as possible. \r\n" + - "If you have 1000s of methods being compiled on startup " + - "you should try to defer some of that computation until absolutely necessary.\r\n" + - "
"); - // Sort the module list by Jit Time; - ListName | " + + "JitTime msec | " +
+ "Num Compilations | " + + "IL Size | " + + "Native Size | " + + "" + GetLongNameForThreadClassification(CompilationThreadKind.Foreground) + " msec | " +
+ "" + GetLongNameForThreadClassification(CompilationThreadKind.MulticoreJitBackground) + " msec | " +
+ "" + GetLongNameForThreadClassification(CompilationThreadKind.TieredCompilationBackground) + " msec | " +
+ "
---|---|---|---|---|---|---|---|
{0} | " + + "{1:n1} | " + + "{2:n0} | " + + "{3:n0} | " + + "{4:n0} | " + + "{5:n1} | " + + "{6:n1} | " + + "{7:n1} | " + + "
Name | JitTime msec | Num Methods | IL Size | Native Size |
---|---|---|---|---|
{0} | {1:n1} | {2:n0} | {3:n0} | {4:n0} |
{0} | {1:n1} | {2:n0} | {3:n0} | {4:n0} |
Warning: Truncating JIT events to " + maxEvents + ". Use 'View in Excel' link above to look all of them
"); + writer.WriteLine("Warning: Truncating JIT events to " + maxEvents + ". View in excel to look all of them.
", stats.ProcessID); writer.WriteLine("Start (msec) | JitTimemsec | IL Size | Native Size | Method Name | " + - "BG | Module | "); + "Trigger | Module | "); if (backgroundJitEnabled) { writer.Write("Distance Ahead | Background JIT Blocking Reason | "); @@ -170,12 +220,12 @@ public static void ToHtml(TextWriter writer, TraceProcess stats, TraceLoadedDotN foreach (TraceJittedMethod _event in runtime.JIT.Methods) { writer.Write("
---|---|---|---|---|---|---|---|---|---|---|
{0:n3} | {1:n1} | {2:n0} | {3:n0} | {4} | {5} | {6} | ", - _event.StartTimeMSec, _event.CompileCpuTimeMSec, _event.ILSize, _event.NativeSize, _event.MethodName ?? " ", (_event.IsBackGround ? "BG" : "JIT"), + _event.StartTimeMSec, _event.CompileCpuTimeMSec, _event.ILSize, _event.NativeSize, _event.MethodName ?? " ", GetShortNameForThreadClassification(_event.CompilationThreadKind), _event.ModuleILPath.Length != 0 ? Path.GetFileName(_event.ModuleILPath) : "<UNKNOWN>"); if (backgroundJitEnabled) { writer.Write("{0:n3} | {1} | ", - _event.DistanceAhead, _event.IsBackGround ? "Not blocked" : _event.BlockedReason); + _event.DistanceAhead, _event.CompilationThreadKind == CompilationThreadKind.MulticoreJitBackground ? "Not blocked" : _event.BlockedReason); } writer.WriteLine("||
{0} | {1} | {2} | {3:F1} | {4} |