@@ -39,14 +39,14 @@ profile.ps1
3939 ├── Phase 2: mode-decision (~90ms)
4040 │ 判定 Full / Minimal / UltraMinimal 模式
4141 │
42- ├── Phase 3: core-loaders (~290ms )
43- │ ├── 同步加载 6 个核心 psutils 子模块
42+ ├── Phase 3: core-loaders (~200ms )
43+ │ ├── 同步加载核心 psutils 子模块(Windows 4 个 / Linux 5 个)
4444 │ ├── PSModulePath 兜底(自动发现)
4545 │ ├── 加载用户别名配置
4646 │ └── 注册 OnIdle 事件(延迟全量加载)
4747 │
48- └── Phase 4: initialize-environment (~600ms )
49- ├── 代理自动检测(缓存 5 分钟)
48+ └── Phase 4: initialize-environment (~350ms )
49+ ├── 代理自动检测(缓存 30 分钟)
5050 ├── UTF-8 编码设置
5151 ├── 工具初始化(starship, zoxide, fnm, sccache)
5252 └── 别名注册
@@ -245,14 +245,20 @@ Register-EngineEvent -SourceIdentifier PowerShell.OnIdle -MaxTriggerCount 1 -Act
245245
246246如果你的代码在启动期间(Initialize-Environment 执行时)被调用,需要的 psutils 函数必须在核心模块中。
247247
248- 当前核心模块(` core/loadModule.ps1 ` 第 1 层同步加载):
248+ 当前核心模块(` core/loadModule.ps1 ` 第 1 层同步加载,按平台条件化):
249+
250+ ** 全平台:**
249251- ` os.psm1 ` → ` Get-OperatingSystem ` , ` Test-Administrator `
250252- ` cache.psm1 ` → ` Invoke-WithCache ` , ` Invoke-WithFileCache `
251- - ` test.psm1 ` → ` Test-EXEProgram `
252- - ` env.psm1 ` → ` Sync-PathFromBash ` , ` Add-EnvPath `
253253- ` proxy.psm1 ` → ` Set-Proxy `
254254- ` wrapper.psm1 ` → ` Set-CustomAlias ` , ` Get-CustomAlias `
255255
256+ ** 仅 Linux/macOS 额外加载:**
257+ - ` env.psm1 ` → ` Sync-PathFromBash ` , ` Add-EnvPath `
258+
259+ ** 已移出同步路径(通过 OnIdle 全量加载覆盖):**
260+ - ` test.psm1 ` — ` Test-EXEProgram ` 已被 ` Get-Command ` 批量检测替代
261+
256262** ⚠️ 禁止在同步路径中调用非核心模块函数** (如 ` Get-Tree ` 、` Register-FzfHistorySmartKeyBinding ` ),否则会触发 PSModulePath 自动导入 psutils 全量模块(~ 600ms 回退)。延迟加载防护栏会在 ` POWERSHELL_PROFILE_TIMING=1 ` 时检测并警告。
257263
258264### 修改验证流程
@@ -277,7 +283,7 @@ pnpm qa
277283
278284| 平台 | 总耗时 | initialize-environment |
279285| ------| --------| ----------------------|
280- | Windows | ~ 1150ms | ~ 600ms |
281- | Linux | ~ 1100ms | ~ 850ms(含 PATH 同步 + fnm) |
286+ | Windows | ~ 750ms | ~ 350ms |
287+ | Linux | ~ 550ms | ~ 200ms |
282288
283289如果总耗时超过基线 200ms 以上,使用 ` Debug-ProfilePerformance.ps1 ` 定位具体步骤。
0 commit comments