---
title: "资源与运行条件"
description: "说明线程池、CPU affinity、NUMA 与实际并行利用率之间的关系。"
eyebrow: "Auto 寻路"
---

## 线程数不等于物理核心数 {#thread-boundary}

```bash
# 线程池宽度；CPU affinity 仍需由运行环境另行设置
RAYON_NUM_THREADS=8 python plan.py
```

| 对象 | 公开含义 | 不能据此推断 |
| --- | --- | --- |
| RAYON\_NUM\_THREADS | Rayon 工作线程池宽度 | 拥有同样数量的独占物理核心 |
| 进程 affinity | 进程允许在哪些 CPU 上运行 | 这些 CPU 一定没有其他负载 |
| NUMA 绑定 | CPU 与内存放置策略 | 单靠线程环境变量已经完成绑定 |
| preset | 选择 Light 或 Heavy 公开预设 | 内部任务数、队列宽度或同步点 |

> **资源边界**
>
> `RAYON_NUM_THREADS` 只设置线程池宽度；实际 CPU 使用还受任务并行性、affinity、NUMA 放置和系统负载影响。preset 不规定公开的内部任务映射。

## 并行评测 {#benchmarking}

| 问题 | 推荐指标 |
| --- | --- |
| 规划本身多快 | planner API wall，另列进程启动与序列化 |
| 并行资源用了多少 | process CPU time / wall time、affinity 与实际线程占用 |
| 返回路径质量怎样 | 统一 evaluator 下的 PathStats 与 PlannerObjective |
| 端到端执行多快 | 规划、可选切片、数值执行和结果归并的总墙钟 |

> [!WARNING]
> **性能结论的边界**
>
> 增加线程或延长时间可能同时改变规划墙钟和搜索机会。未固定工作量时，这类对比不构成 strong-scaling measurement。
