这是一份为您定制的、面向 AI(Antigravity)的高级重构与压测架构指令集。该指令集以量化数据、内存边界防御与极端压力测试为核心目标,您可以直接将其投喂给 Antigravity,启动 omni-core 的第一阶段重构。

🤖 Antigravity 核心重构与极限压测任务指令集

1. 任务背景与最高战略目标

当前版本的 omni-core 在多端 FFI 通信、内存生命周期管理及线程异步调度上存在进一步夯实的空间。本次重构的最高战略目标是“消除内存墙、建立闪退防御屏障、实现零前端阻塞”核心原则:严禁采用“写个 Demo 函数跑通”的消极策略。所有重构成果必须通过百万级( 级)海量数据、高并发场景的极限压力测试,并以明确的量化耗时比(Benchmark)和内存损耗曲线作为交付验收依据。

2. 核心重构实施指令 (Refactoring Blueprints)

指令一:构筑 Panic 绝对防御屏障(0 闪退体系)

  • 任务:全面清查 omni-core 所有通过 #[no_mangle] 导出的外部 C-ABI 函数。

  • 实施要求

    1. 使用 std::panic::catch_unwind 宏将所有 FFI 函数体进行 包裹。

    2. 严禁让任何 Rust 内部的 panic! 跨越 FFI 边界抛给宿主端(iOS/Android/Tauri Webview)。

    3. 一旦捕获到 Panic,将其转换为强类型的错误结构体 OmniCoreError(包含错误码与栈信息),以 Result 映射形式安全返回。

指令二:数据交换层二进制化升级(Protobuf 改造)

  • 任务:废除高频或大数据量调用下的 JSON 序列化方案(serde_json),引入 Protocol Buffers (Prost)

  • 实施要求

    1. 针对大数据量传输(如批量数据查询、大型文件分片分发、高频状态同步),编写 .proto 文件定义通信数据结构。

    2. 利用 Rust 侧的生成产物与多端原生(Kotlin/Swift)通过二进制字节数组(*const u8, u32 长度占位)执行 FFI 通信,消除字符串解析的 CPU 损耗。

指令三:不透明指针(Opaque Pointers)与闭环析构

  • 任务:重新规范核心状态(如数据库连接池、长期持有的 Session)的内存生命周期。

  • 实施要求

    1. 在 Rust 侧使用 Box::into_raw(Box::new(Arc::new(Mutex::new(State)))) 生成不透明指针传递给原生端。

    2. 显式导出 omni_core_free_handle(*mut c_void) 释放函数,内部使用 Box::from_raw 接管并销毁内存。

    3. 强制要求在原生端(Kotlin/Swift)的析构/析构钩子中绑定该释放函数,杜绝内存泄漏(Memory Leak)。

3. 极限压力测试与性能量化指令 (Extreme Stress Testing)

为了获取性能提升的明确量化对比,你必须构建两套测试基准:对照组(重构前/常规 JSON 方案)实验组(重构后/Protobuf + 异步线程池方案)

压测场景设计矩阵

🧪 压测场景 A:海量结构化数据吞吐测试(突破内存墙)

  • 测试数据集:生成包含 条(百万级) 复杂嵌套结构体(包含 String、UUID、Timestamp、Nested Matrix)的测试数据集。

  • 执行动作:让 Rust 核心库生成该数据集,并通过 FFI 完整投递给宿主端(Tauri 前端或原生层),并在宿主端完整解析。

  • 必须采集的硬性指标

    • 冷启动吞吐耗时 (Latency):从 Rust 发出到宿主端完全解析并建立对象树的总耗时(单位:)。

    • 内存峰值与抖动 (Memory Peak):监测 Webview/原生虚拟机的内存 VSS/RSS 曲线,重点观测是否触发重度 GC(垃圾回收)卡顿。

🧪 压测场景 B:高并发非阻塞线程池压力测试(极限中断池测试)

  • 测试数据集:模拟 个并发任务 同时向 omni-core 提交高频请求(如模拟高频加密、密集 I/O 写入)。

  • 执行动作

    • 在宿主端主线程启动一个 的高阻尼 UI 动效(或高频计数器渲染)

    • 与此同时,后台并发投递上述任务,强行测试 omni-core 的 Tokio 中断池调度能力。

  • 必须采集的硬性指标

    • UI 帧率保持率 (FPS Log):UI 线程是否发生掉帧?是否维持在 / 满帧?

    • 任务平均响应时间 (AVG Response Time):多线程并发下,单个任务的平均排队加执行时间。

4. 交付产物与报告标准 (Deliverables)

Antigravity 在重构并测试完成后,必须输出包含以下内容的结构化报告:

  1. 代码变更差异表:列出重构的 FFI 导出函数安全覆盖率(必须达到 )。

  2. 非对称性能对比图表(Markdown 表格形式)

测试场景数据规模 / 并发量旧架构方案(JSON / 同步)耗时新架构方案(Protobuf / 异步工作线程)耗时性能提升倍数 (Speedup)结论与可靠性判定
场景 A:海量数据传输 条复杂结构体(请自动填充测量数据)(请自动填充测量数据)X.XX 倍内存是否平稳 / 有无泄漏
场景 B:高并发调度 次高频并发(请自动填充掉帧率)(请自动填充掉帧率)X.XX 倍UI 动效是否绝对流畅
  1. 内存与闪退判定结论:在模拟 Rust 内部故意引发 panic! 的情况下,宿主 App 是否成功存活并捕获了错误?(必须为:)。

5. 启动指令(投喂口令)

“Antigravity,请严格执行上述《omni-core 核心重构与极限压测任务指令集》。立即进入重构阶段,重点攻坚数据交换的二进制化与 Panic 安全边界。重构完成后,直接运行百万级数据压测,并带上详尽的量化对比数据向我汇报!”