XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESystem

【Rust】XFE系统,基于Rust和汇编

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESystem

Record Monaco stutter diagnosis and isolated performance evidence

65aa517
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

3 个文件 +274 -0
Modified AGENTS.md +2 -0
@@ -1,5 +1,7 @@
1 1 # XFESystem 用户约定
2 2
3 2026-10-16 Monaco 卡顿定位与修复:Jint 自定义正则重复搜索已失败后缀、CSS 逐元素复制整套主题变量是实测热点。项目私有 Jint 增加按实例、同一文本/编译器、非粘连失败后缀复用(输入至多 128 KiB,保留语义与超时),CSS 使用不可变共享自定义属性环境。448 项浏览器、40 项 Jint 检查及新 Desktop 原生显示/编辑验收通过;未重新跑完整 16 组宿主发行检查。正确隔离的宿主五次中位数:259 行 C# 3176.53 → 736.26 ms,长文件分配约 374 → 227 MB;原生默认 JS 编辑器三轮冷首显 11.672 → 8.391 s、两轮重复打开中位数 7.906 → 4.898 s,模型/逐像素画面/实际编辑一致。这些不是实体或 GPU 性能,也不表示所有停顿消失。初次宿主对照误继承当前 Jint 补丁的记录保留,最终旧/新进程实际加载哈希不同。见 `docs/MonacoStutter20261016.md` 与对应 JSON。本轮用户明确“不需要写入”,未写实体 U 盘、未打发行 ZIP;现有单系统/USB 持久化约定继续保留。
4
3 5 2026-10-16 用户明确要求 **文件和设置也保存到启动 U 盘**,此要求覆盖下文历史 RAM-only 配置约定。已完成 **0.3.0-dev.4-usb-storage.1**:自研 C# xHCI USB BOT/SCSI 块存储、按启动磁盘/分区 GUID 匹配、只读 FAT32 `UserFiles` 导入、64 MiB `Workspace.bin` 双数据区提交。正常 `X:` 文件和外观设置写入 U 盘;Temporary、System/Diagnostics 临时;无唯一可用启动 USB 时明确 RAM 回退。两个独立单系统镜像各 256 MiB,本轮专用 U 盘仍只写 **Desktop**,不能重新合并两个系统。写入使用 `IndependentCSharpUsb256` 新计划/token,更新前备份并恢复已有工作区;遇到额外导入/根目录用户文件或被替换的 UsbHello.dll 时拒绝覆盖,先迁移。不要直接覆盖已有持久化容器或删除用户数据。
4 6
5 7 最终 16 组、1461 项宿主检查、11 项单系统策略、31 项发行证据保护、原有写盘保护及新增工作区备份恢复检查通过。两版完整应用验收均自动附带同一私有可写 USB 镜像两次实际冷启动,i8042 关闭、xHCI USB 启动盘及 USB HID,文件/配置保存恢复、FAT 外部标准 .NET PE 执行和复制程序集重启后执行通过;Desktop 深色主题保留通过。两版集线器键鼠及拔插回归通过,实体 TT 的既有限制保留。Windows PowerShell 5.1 虚拟 USB 启动计划、重复计划保留工作区和启动区变更拒绝通过。初轮重复 Limine 请求、测试入口导入冲突、文档种子识别和 PS5.1 运算失败均留存,旧启动包保留并标记被重试产物取代。
Added docs/MonacoStutter20261016.md +53 -0
@@ -0,0 +1,53 @@
1 # Monaco 打开卡顿的原因与修复(2026-10-16)
2
3 主要差异来自 JavaScript 引擎与浏览器运行时。Windows 上的 Edge、Chrome、VS Code/Electron 使用 V8;XFESystem 使用 Jint 4.11.0 解释执行 Monaco。NativeAOT 编译的是 C# 解释器,JavaScript 仍由解释器执行。当前内核实际执行一个 BSP,使用软件绘制,运行时配置 `gcConcurrent=0`。解释器中的重复搜索和大量临时分配会延长打开过程,也可能通过暂停式 GC 影响界面。
4
5 同一套 Jint 浏览器代码在 Windows 宿主中也能复现长文件初始化缓慢,因此不能仅归因于裸机 CPU 算力或显卡。Monaco 资源来自本地打包,禁用网络的原生对照也复现了耗时。这里没有换用简化编辑器,也没有修改官方 Monaco、网站 C# 语法或调色板。
6
7 ## 找到的热点
8
9 宿主 CPU 采样中,`RegExpInterpreter.ExecBacktrack`、复制内存和 GC 占据主要开销。进一步在原始 `RegExp.prototype.exec` 外安装仅用于诊断的计时器后,259 行 C# 样例中的同一个 4,240 字符正则被调用 256 次,累计约 2,202 ms。该正则已确认后续文本没有匹配,却在每个更靠后的下标重新搜索剩余文本。这类搜索可形成二次方重复工作。
10
11 另一个热点是 CSS 继承:每次全页排版都为每个后代复制整套 Monaco 主题自定义属性,并重新遍历、解析这些值。语法缓存命中时,短文件初始化同样产生约 231 MB 的临时分配;长文件约 374 MB。GC 与解释执行共享当前实际运行的 CPU,增加虚拟 CPU 数量不会自动并行执行这条调用链。
12
13 ## 改动
14
15 - Jint 私有副本增加失败后缀复用:同一 `JsRegExp` 实例、同一字符串引用、同一已编译正则、非粘连搜索,若某个下标到末尾已经无匹配,后续更靠后的搜索直接返回无匹配。保留外层 `lastIndex` 转换、返回值和其他可观察行为。不同文本、重新编译、回退下标、粘连匹配均不会误用该事实;异常、超时不缓存。每个实例至多保留一段不超过 128 KiB 的输入,不共享页面或引擎状态。
16 - CSS 自定义属性使用不可变共享环境;发生覆盖时才复制。普通属性、伪元素、动态主题和旧布局快照仍分别计算和保留。
17 - 添加布局和 DOM 预算计数、实际正则计时及命中数诊断,并记录每个宿主进程实际加载的 Jint SHA256 和补丁标记。
18
19 诊断中上述正则仍收到 256 次 JavaScript 调用,其中 255 次复用已证实的无匹配后缀;累计时间约 18 ms。其他正则继续使用原始匹配引擎。没有移除语法检查、执行预算或正则超时。
20
21 ## 测量
22
23 宿主使用真实字体、实际 Monaco 模型、着色 DOM 和绘制,每项运行五次,使用中位数;关闭 .NET 分层编译以降低阶段切换波动。短文件第一轮包含冷解析,后续使用已解析语法和新的独立引擎。长文件使用 259 行 C#。宿主数字不代表裸机性能。
24
25 | 测量 | 修改前 | 修改后 |
26 | --- | ---: | ---: |
27 | 宿主三行 C# 完整初始化中位数 | 564.84 ms | 405.13 ms |
28 | 宿主 259 行 C# 完整初始化中位数 | 3,176.53 ms | 736.26 ms |
29 | 宿主长文件初始化分配量,第一轮 | 374,076,008 B | 227,295,136 B |
30 | 原生默认 JavaScript 编辑器冷打开完整首显 | 11.672 s | 8.391 s |
31 | 原生重复打开完整首显中位数 | 7.906 s | 4.898 s |
32
33 原生使用两个已验证的 Desktop 单系统镜像、QEMU TCG、8 个虚拟 CPU / 实际 BSP 1、相同配置、实际键盘导航。每个镜像三轮,其中一轮冷打开、两轮重复打开;通过真实模型、实际字形和连续两帧像素稳定后计时。六帧逐像素对应一致,两个镜像的实际键盘编辑均通过。单次冷测量和两次重复打开不足以证明所有硬件上稳定达到同一倍率,完整打开仍需要数秒。
34
35 菜单输入探针与首显计时分开执行,记录键盘到实际呈现菜单的时间,包含 QMP 和串口轮询。修复版使用全局 Windows 键:初始化期间 234 ms,空闲对照 218 ms,差值 16 ms。单次探针不能作为流畅度、输入硬件延迟或 GC 暂停时间的证明。这里没有测量独立 GC 暂停时间,也不宣称彻底消除了所有停顿。
36
37 ## 验证与记录
38
39 448 项浏览器检查、40 项 Jint 补丁检查通过,覆盖真实 Monaco 初始化、实际编辑、预算限制、引擎隔离、CSS 和伪元素,以及正则下标、换文本、重新编译、粘连模式、捕获组、Unicode、超时和内存保留边界。新 Desktop 内核通过启动动画、Monaco 实际显示和编辑、桌面及终端验收;同一私有可写虚拟 USB 镜像的两次冷启动存储回归通过。493 个来宾绑定输入在验收时保持一致。
40
41 本轮按用户要求未写实体 U 盘,也没有生成新发行 ZIP。未重新验收的 Bing、完整文档工作流、实体启动、GPU、SMP 或长期稳定性不因本次结果取得资格。
42
43 宿主对照脚本的初次比较存在隔离错误:放在归档外的旧版探针继承了当前构建目标,导致修改前、修改后都加载新 Jint。该结果保留在 `HostComparison-1792095711332`,不能用于完整补丁的性能结论。最终探针和构建输出移入旧源码归档,重新执行;确认旧进程无失败后缀补丁、新进程有该补丁,且实际 Jint 哈希不同。
44
45 初次空闲菜单对照使用 Ctrl+Esc,已获得焦点的 Monaco 会接收该快捷键,导致测试等待菜单超时;当时编辑器仍持续呈现。该失败保留在 `IdleControl-1792095946154434100`。改用内核始终路由给桌面的 Windows 键释放后,初始化与空闲对照、实际模型及编辑检查通过;没有将原失败覆盖或归因于编辑器初始化未完成。
46
47 完整路径、摘要、原始样本和保留记录见 [机器可读证据](validation-results/MonacoStutter20261016.json)。原生完整首显比较的实际旧脚本也单独归档,防止后续增加空闲输入对照后混淆测试字节。
48
49 ## 对照 V8
50
51 查看了 V8 的 [正则执行入口](https://github.com/v8/v8/blob/main/src/regexp/regexp.cc)、[正则解释器](https://github.com/v8/v8/blob/main/src/regexp/regexp-interpreter.cc)、[正则分层编译说明](https://v8.dev/blog/regexp-tier-up)及 [JavaScript 基线编译说明](https://v8.dev/blog/sparkplug)。V8 有热点正则机器码和专门的解释器/扫描优化,JavaScript 也有机器码编译层。Jint 的 [自定义正则路径](https://github.com/sebastienros/jint/blob/v4.11.0/Jint/Native/RegExp/RegExpPrototype.cs)在部分 ECMAScript 语义无法交给 .NET Regex 时使用字节码回溯解释器。
52
53 本次实现针对实测重复工作进行优化,没有移植 V8 的 JIT,也没有把不兼容的正则强行交给 .NET Regex。剩余启动时间仍受 Jint 执行、完整 AST 构造、DOM 投影、字体及软件排版绘制影响。
Added docs/validation-results/MonacoStutter20261016.json +219 -0
@@ -0,0 +1,219 @@
1 {
2 "Kind": "XfeMonacoStutterInvestigation",
3 "Date": "2026-10-16",
4 "ImplementationCommit": "653f0594e5bdfc3d90ad3c2929c5526a6fb9edaf",
5 "BaselineCommit": "33ec2b5bec724afac0dd235e9ff9550c860ba936",
6 "FullReleaseQualified": false,
7 "PhysicalUsbWritten": false,
8 "ReleaseZipCreated": false,
9 "ImplementationFilesSha256": {
10 "Source/XFESystem.Browser/BrowserCssCascade.cs": "3468dcaccf2cde5345c9ee0534a668d69fc451d5da0da0786a1db4e8bce40b5d",
11 "Source/XFESystem.Browser/BrowserInteractivePage.cs": "07b27a24853033695ec06a6a5ee22ae24ad04070933522a1916944e0112ac794",
12 "Source/XFESystem.Browser/CssComputedStyle.cs": "d11f72354d2aee42c82818bd153f8d8eddfcb638befdbb9bf3b64ec7bb1b18da",
13 "Source/XFESystem.Browser/CssPropertyMap.cs": "1be9087ede5090f91f67d77409822d52f119267e0d4df3b594b86c9ff6e77591",
14 "Source/XFESystem.Browser/DomBridge.cs": "6d69302f2ea4e3546700ba525035523ce5d62b6ccb62f52039f7494456cc0c5d",
15 "THIRD_PARTY.md": "1844b02ab2991050384947178230068e91af698f94e9721a274dabb03ce92c24",
16 "Tests/XFESystem.Browser.Tests/CssPropertySharingTests.cs": "293458a0659b6bbbea81c682902503727e427cea54bf33cede8c4b2a5edc1b38",
17 "Tests/XFESystem.JintCleanupPatch.Tests/RegexSearchTests.cs": "3f3c4bb42dc5f3e3fc7b8e1951b85eeafe14124403574996446edc9ba5971802",
18 "Tools/BrowserCompatibility/PreviewProfile/CompareMonaco.ps1": "14a7f6383ce40c633d33adb09d4773b4e84178cda9d163f0da75de74d4b9c51f",
19 "Tools/BrowserCompatibility/PreviewProfile/MonacoProfile.cs": "ebd101746d3ee804399025d94066ac7b500d9184fb8496cbaf0c732f48c590f0",
20 "Tools/BrowserCompatibility/PreviewProfile/MonacoRegexProfile.cs": "c5008f437b11a47163164ac1380893922bc9d4801abd4fbd4d21fe964bee34cd",
21 "Tools/BrowserCompatibility/PreviewProfile/Program.cs": "306cd3a05b45f63f956cba53e6ffe3be37810ba4695931680d8d36268d1ccad7",
22 "Tools/IndependentKernel/TestMonacoStartup.py": "0b999947599ecf06c5de3078acfc3dde7a7a7fd25c2a3e11d17bb48bd188ba4c",
23 "Tools/JintCleanupPatch/BoundTargets.cs": "3c882fe0d5cfabb5e213fceead1d819545408b90ffccbc5e5192ecc8c1eaedf1",
24 "Tools/JintCleanupPatch/Program.cs": "bd5e22df1f1dc216e336573f7a238966e2dd3becc4f3674032ca61ea16fe83cb",
25 "Tools/JintCleanupPatch/RegexSearch.cs": "21f7cac4337d04dac8eab9d3019ad1ecc89aecd32a065dde00e369c9467242e5"
26 },
27 "ImplementationFilesMatchCommitBytes": true,
28 "UpstreamBrowserAssetsUnchanged": true,
29 "RootCauses": [
30 "Repeated failed custom-RegExp suffix searches inside website C# highlighting.",
31 "Entire CSS custom-property environments copied and resolved per descendant per layout.",
32 "Jint interprets JS. NativeAOT compiles the interpreter, not JavaScript. Actual BSP=1, software drawing, concurrent GC disabled; GC pause durations not separately measured."
33 ],
34 "RegexDiagnostic": {
35 "Before": {
36 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\RegexBaseline-1792094998815\\Result.json",
37 "Sha256": "d37bd068e25f507c8570dcc7dcb97cef12fa0a12c3f93964ea613831f8511032"
38 },
39 "After": {
40 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\RegexAfter-1792095918846\\Result.json",
41 "Sha256": "dfa0edc2d8684dd0a374dea69247beeb9a2c6c6ca29677673cc234b4c1e43741"
42 },
43 "PatternWithFlagsCharacters": 4243,
44 "PatternSha256": "a806cb9cab810b4cbc169d726ef1d1e1f8a6d7938cc8be21956767c37afb4d18",
45 "BeforeCalls": 256,
46 "AfterCalls": 256,
47 "AfterFailedSuffixHits": 255,
48 "BeforeMilliseconds": 2201.8803,
49 "AfterMilliseconds": 17.9791,
50 "DiagnosticOnly": true,
51 "Method": "Wrapper calls original intrinsic without resetting budgets. Timing includes diagnostic overhead; primary initialization performance comes from the isolated comparison."
52 },
53 "CpuSamples": {
54 "Raw": {
55 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\StutterBaseline.nettrace",
56 "Sha256": "84c6e64f75d6e1d158733756e4e14bce0dbe6ff47197ede10dba141b0b2af3e8"
57 },
58 "Speedscope": {
59 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\StutterBaseline.speedscope.json",
60 "Sha256": "1979c2139624d5eb92904d650834f6542d628d1f5c014eb9d7f8f2f740cacd7a"
61 },
62 "HostOnly": true
63 },
64 "HostComparison": {
65 "Evidence": {
66 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\HostComparison-1792095812701\\Comparison.json",
67 "Sha256": "2775006e9d07073b283060f9355c8bf6637a9f1cc8d082b851d4faf1a7497a9a"
68 },
69 "BeforeSamples": {
70 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\HostComparison-1792095812701\\Baseline\\build\\MonacoInit\\Before-1792095832810\\Result.json",
71 "Sha256": "36a0a2805fd37136c46d1b89eab2922527c3acd4b768df4bf10330f74273cb35"
72 },
73 "AfterSamples": {
74 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\After-1792095863040\\Result.json",
75 "Sha256": "099a80069139e589357540d89a4deb7aca81a7ff5efbe8d969183c1ea5eb5907"
76 },
77 "Rows": [
78 {
79 "Kind": "ShortCSharp",
80 "BeforeMedianMilliseconds": 564.8432,
81 "AfterMedianMilliseconds": 405.1336,
82 "Speedup": 1.3942146491922665,
83 "BeforeTokenizationFullModelReads": 0,
84 "AfterTokenizationFullModelReads": 0,
85 "BeforeAllocatedBytes": 321358032,
86 "AfterAllocatedBytes": 253815424,
87 "ActualViewTokensEqual": true
88 },
89 {
90 "Kind": "LongCSharp",
91 "BeforeMedianMilliseconds": 3176.5333,
92 "AfterMedianMilliseconds": 736.2649,
93 "Speedup": 4.3143891553162454,
94 "BeforeTokenizationFullModelReads": 0,
95 "AfterTokenizationFullModelReads": 0,
96 "BeforeAllocatedBytes": 374076008,
97 "AfterAllocatedBytes": 227295136,
98 "ActualViewTokensEqual": true
99 }
100 ],
101 "BeforeRuntimeJintSha256": "4bef737aedf8dbb5e3a2a006928e2b689dce290c48493dce088661a4099413a3",
102 "AfterRuntimeJintSha256": "9c0c7e7a44d3fa9d0c857ff9037994b785294a142467ba5a61706611c81d7090",
103 "Method": "Five fresh engines per case; exact archived baseline and archived build/patch targets; same current probe; TieredCompilation=0. First short case includes cold parsing. Windows host, actual real-font view/paint and editing."
104 },
105 "NativeComparison": {
106 "Evidence": {
107 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\NativeComparison-1792095593970527400\\Comparison.json",
108 "Sha256": "1f2de09c6c8e0578559338f7bcf48cbe0d9d4b6e7cb6ec2cd9778c23c6e37257"
109 },
110 "Before": {
111 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\NativeComparison-1792095593970527400\\Before\\Result.json",
112 "Sha256": "53a5cf022ef2283700ad346d9ff139cff908796be2973c9ef9f83626307cdf3f"
113 },
114 "After": {
115 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\NativeComparison-1792095593970527400\\After\\Result.json",
116 "Sha256": "dd9a55b6b5b89eb6388c7d95a59c7beb0cf7800275ecb014dd7f8132438d5d43"
117 },
118 "ArchivedHarness": {
119 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\NativeComparison-1792095593970527400\\Harness.py",
120 "Sha256": "db01a5aa5a15f15cc3644374f90700c2d073f19b71e82399dd8bbe7dfda01ebd"
121 },
122 "BeforeColdMilliseconds": 11672.0,
123 "AfterColdMilliseconds": 8391.0,
124 "BeforeWarmMedianMilliseconds": 7906.0,
125 "AfterWarmMedianMilliseconds": 4898.0,
126 "AllNativeViewportPixelsEqual": true,
127 "ExactModelsEqual": true,
128 "BothImagesPassedActualKeyboardEditing": true,
129 "ColdSamplesPerImage": 1,
130 "WarmSamplesPerImage": 2,
131 "VirtualCpus": 8,
132 "ExecutingCpus": 1,
133 "Gpu": false,
134 "Prewarmed": false,
135 "Method": "QEMU TCG, PS/2 input, exact model and stable native glyph frame; IDE snapshot with explicit RAM fallback for timing. Persistent USB separately tested using a private virtual image."
136 },
137 "ResponsivenessControl": {
138 "Evidence": {
139 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\IdleControl-1792096125321554100\\Result.json",
140 "Sha256": "b65870869131745a8a440d017af58130ec72dd84a352e0ba1bc2c28d005d1569"
141 },
142 "Kind": "ActualDesktopStartMenuDuringWorkerScript",
143 "KeyboardToPresentedMenuMilliseconds": 234.0,
144 "IdleKeyboardToPresentedMenuMilliseconds": 218.0,
145 "ExtraInitializationLatencyMilliseconds": 16.0,
146 "InitializationStillRunningAtMenuPresentation": true,
147 "TimingIncludesQmpAndSerialPolling": true,
148 "HostScreenshotSubstitution": false,
149 "Samples": 1,
150 "NoGeneralSmoothnessOrHardwareLatencyClaim": true
151 },
152 "Regressions": {
153 "Suites": [
154 {
155 "Suite": "Browser",
156 "Passed": 448,
157 "Failed": 0,
158 "Evidence": {
159 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\Regression\\Browser.trx",
160 "Sha256": "b3c9041595a8e1964741fd94858372125d40ceae52f320408f3a6d613d2b5f64"
161 }
162 },
163 {
164 "Suite": "JintCleanupPatch",
165 "Passed": 40,
166 "Failed": 0,
167 "Evidence": {
168 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\RegressionFinal\\JintCleanupPatch.trx",
169 "Sha256": "8fed1b370e9b42c8f67a63ab42fc8445d3d9803b1ebecfad13e226584f2106de"
170 }
171 }
172 ],
173 "NativeDesktopBrowserProof": {
174 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\IndependentKernel\\Proof-1792095440715901500\\Result.json",
175 "Sha256": "31d02d9275510658b170e5ce44a0c987815f431e27317dfe615ed931ac8d9ee8"
176 },
177 "NativeBoundInputs": 493,
178 "NativeBindingUnchanged": true,
179 "NativeSourceSnapshot": {
180 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\IndependentKernel\\Proof-1792095440715901500\\SourceSnapshot.json",
181 "Sha256": "a5045c788dc77fd5fd82ca4c8fe054f7c22c4eeae2f31e73b54195f5d5c66847"
182 },
183 "NativeImage": {
184 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\IndependentKernel\\Proof-1792095440715901500\\System.img",
185 "Sha256": "5389cdde282016b525f4fad318f121baccb4bc064b5ad5b95e898114d77d4096"
186 },
187 "PrivateVirtualUsbStorageRegression": {
188 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\IndependentKernel\\UsbStorage-1792095444217676500\\Result.json",
189 "Sha256": "bda63b12ce10c4c17de098f460f4ad7a2f4f9f36ff598be07dcc741d5eb100a8"
190 },
191 "Full16SuiteHostReleaseRun": false,
192 "BingRevalidated": false,
193 "FullDocumentsRevalidated": false,
194 "PhysicalHardwareRevalidated": false
195 },
196 "RetainedRejectedMeasurements": [
197 {
198 "Evidence": {
199 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\HostComparison-1792095711332\\Comparison.json",
200 "Sha256": "80d0a27adf09f17fa9327032bb1c4a3e3aeea9eab4b1616d34e9c1cebc94b764"
201 },
202 "Reason": "Probe outside archived tree inherited current Jint patch target; both processes loaded new Jint. Superseded for full-patch performance."
203 },
204 {
205 "Evidence": {
206 "Path": "C:\\Users\\XFEstudio\\.codex\\worktrees\\browser-load-speed\\XFESystem\\build\\MonacoInit\\IdleControl-1792095946154434100\\Result.json",
207 "Sha256": "bccc8cd0c049c1d76ede62ab4d117326f146543e17341ef190acaa22e5126a9f"
208 },
209 "Reason": "Ctrl+Esc is routed to the focused page, so idle menu control timed out while Monaco rendered. Corrected control uses global Windows-key release."
210 }
211 ],
212 "References": [
213 "https://github.com/v8/v8/blob/main/src/regexp/regexp.cc",
214 "https://github.com/v8/v8/blob/main/src/regexp/regexp-interpreter.cc",
215 "https://v8.dev/blog/regexp-tier-up",
216 "https://v8.dev/blog/sparkplug",
217 "https://github.com/sebastienros/jint/blob/v4.11.0/Jint/Native/RegExp/RegExpPrototype.cs"
218 ]
219 }