• Gxtttt's avatar
    feat: perf_bench 升级到 µs 精度(sys_get_time_us #170) · b1fc2b8e
    Gxtttt authored
    
    
    内核:
    - timer.rs 新增 get_time_us(time::read() / (CLOCK_FREQ/1_000_000),QEMU 12.5 MHz ~1 µs 分辨率)
    - syscall #170 sys_get_time_us
    - syscall/mod.rs 加分发
    
    用户态:
    - syscall.rs / task.rs 暴露 sys_get_time_us / get_time_us
    - perf_bench.rs 全部切到 µs 计时,N 加大到 5000
    
    数据(原 ms 测不到的精度):
    - Bench A tool_call=14.86 µs/op vs ctx_direct=2 ns/op (5307x)
    - Bench B sys_context_query=17.17 µs/op vs ctx_direct=6 ns/op (2525x)
    - get_time_us 自校准 ~17 µs,等于 syscall trap 固定开销,
      揭示"是否进内核"是 3 个量级的性能差异主因
    - Bench C scan vs index 60% 不变
    
    文档:
    - docs/logs/perf-bench-verify.md 整篇换 µs 数据 + 解读"syscall 切换开销主导"
    - docs/design/architecture.md 性能表更新 + syscall 表加 #170
    - README 任务表更新加速倍率
    
    Co-Authored-By: default avatarClaude Opus 4.7 <noreply@anthropic.com>
    b1fc2b8e