mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2026-07-16 08:50:47 +00:00
* Add startup performance tracing * Lazy initialize non-default tabs * Render install app entries incrementally * Defer and cache toggle status checks * Clean up runspace invocation ownership * Defer GUI runspace pool startup * Defer status taskbar asset rendering * Record final speed verification * Fix deferred install render timer callback * Add dispatcher smoke coverage for install rendering * Replace install render timer with dispatcher callbacks * Gate performance tracing behind compile switch * Clean up analyzer warnings in speed changes * Speed up runspace and tab initialization
24 lines
842 B
PowerShell
24 lines
842 B
PowerShell
function Write-WinUtilPerformanceCheckpoint {
|
|
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[string]$Name
|
|
)
|
|
|
|
if (-not (Test-WinUtilPerformanceTrace) -or $null -eq $sync) {
|
|
return
|
|
}
|
|
|
|
if (-not $sync.ContainsKey("PerformanceTrace") -or $null -eq $sync.PerformanceTrace.Stopwatch) {
|
|
$sync.PerformanceTrace = @{
|
|
Stopwatch = [System.Diagnostics.Stopwatch]::StartNew()
|
|
LastElapsedMs = 0.0
|
|
}
|
|
}
|
|
|
|
$elapsedMs = [math]::Round($sync.PerformanceTrace.Stopwatch.Elapsed.TotalMilliseconds, 2)
|
|
$deltaMs = [math]::Round($elapsedMs - [double]$sync.PerformanceTrace.LastElapsedMs, 2)
|
|
$sync.PerformanceTrace.LastElapsedMs = $elapsedMs
|
|
|
|
Write-WinUtilLog -Level "DEBUG" -Component "StartupPerf" -Message ("{0}: {1:N2} ms (+{2:N2} ms)" -f $Name, $elapsedMs, $deltaMs)
|
|
}
|