wip(standalone): speed round -- interrupted by a PC hard reset at 10:16 (Kernel-Power 41)
Verified before the reset (density + full mesh hashes equal at 1/8/16 workers, routes 5642/5642, look audits green): - merged field lookups, parallel mask merge, compact inline spatial bins, line-local relief hash cache, lattice-specific mesher entry, fused sign+magnitude evaluation, far connectors as one capsule each (181,836 -> 16,491 far primitives). - crater edit (sphere+box+capsule, one transaction across LOD0/1): 15-27 ms; player 3x3x3 neighbourhood meshes ready ~18 ms after streaming starts. NOT yet verified (in the tree, unhashed): standalone-only skips of UV/colour arrays and of the ceiling/ground material grouping (best cold whole view 0.958 s @16 workers) and a far-bin reserve tweak. Those skips drop data the plugin's materials may need: not a game-path win as-is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
1 parent
97c0455939
commit
ee5b05b357
16 files changed
+1011
-156
No files matched your search
@@ -0,0 +1,40 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory=$true)][string]$ExecutableName,
|
||||
[Parameter(Mandatory=$true)][string[]]$ExecutableArguments,
|
||||
[Parameter(Mandatory=$true)][string]$LogStem
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$RoundDir = [IO.Path]::GetFullPath($PSScriptRoot)
|
||||
$StandaloneRoot = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..\..\..'))
|
||||
if ([IO.Path]::GetFileName($ExecutableName) -ne $ExecutableName) { throw 'ExecutableName must be a filename.' }
|
||||
if ([IO.Path]::GetFileName($LogStem) -ne $LogStem) { throw 'LogStem must be a filename stem.' }
|
||||
$ExecutablePath = Join-Path (Join-Path $StandaloneRoot 'bin') $ExecutableName
|
||||
if (-not (Test-Path -LiteralPath $ExecutablePath -PathType Leaf)) { throw "Executable not found: $ExecutablePath" }
|
||||
$StdoutPath = Join-Path $RoundDir ($LogStem + '.stdout.log')
|
||||
$StderrPath = Join-Path $RoundDir ($LogStem + '.stderr.log')
|
||||
|
||||
$HostProcess = Get-Process -Id $PID
|
||||
$HostProcess.PriorityClass = 'Normal'
|
||||
$HostProcess.ProcessorAffinity = [IntPtr]0xFFFF
|
||||
$RunClock = [Diagnostics.Stopwatch]::StartNew()
|
||||
$Child = Start-Process -FilePath $ExecutablePath -ArgumentList $ExecutableArguments `
|
||||
-WorkingDirectory $StandaloneRoot -WindowStyle Hidden -PassThru `
|
||||
-RedirectStandardOutput $StdoutPath -RedirectStandardError $StderrPath
|
||||
$PeakWorkingSet = 0L
|
||||
$PeakPrivateMemory = 0L
|
||||
while (-not $Child.HasExited) {
|
||||
$Child.Refresh()
|
||||
if ($Child.HasExited) { break }
|
||||
$Child.PriorityClass = 'Normal'
|
||||
$Child.ProcessorAffinity = [IntPtr]0xFFFF
|
||||
$PeakWorkingSet = [Math]::Max($PeakWorkingSet,$Child.WorkingSet64)
|
||||
$PeakPrivateMemory = [Math]::Max($PeakPrivateMemory,$Child.PrivateMemorySize64)
|
||||
Start-Sleep -Milliseconds 50
|
||||
}
|
||||
$Child.WaitForExit()
|
||||
$RunClock.Stop()
|
||||
$Child.Refresh()
|
||||
Write-Output "RUN_EXIT pid=$($Child.Id) priority=Normal affinity=0xFFFF wall_s=$([math]::Round($RunClock.Elapsed.TotalSeconds,3)) peak_working_set_gb=$([math]::Round($PeakWorkingSet/1GB,2)) peak_private_gb=$([math]::Round($PeakPrivateMemory/1GB,2)) cpu_s=$([math]::Round($Child.CPU,3)) exit_code=$($Child.ExitCode)"
|
||||
exit $Child.ExitCode
|
||||
Reference in new issue
Block a user