# `Snakepit.Hardware.CPUDetector`
[🔗](https://github.com/nshkrdotcom/snakepit/blob/v0.13.0/lib/snakepit/hardware/cpu_detector.ex#L1)

CPU hardware detection.

Detects CPU model, cores, threads, memory, and CPU features (SSE, AVX, etc.).

# `cpu_info`

```elixir
@type cpu_info() :: %{
  cores: pos_integer(),
  threads: pos_integer(),
  model: String.t(),
  features: [atom()],
  memory_total_mb: non_neg_integer()
}
```

# `detect`

```elixir
@spec detect() :: cpu_info()
```

Detects CPU hardware information.

Returns a map with:
- `:cores` - Number of physical CPU cores
- `:threads` - Number of logical threads (cores * hyperthreading)
- `:model` - CPU model name string
- `:features` - List of detected CPU feature atoms (e.g., `:avx`, `:sse4_2`)
- `:memory_total_mb` - Total system memory in MB

---

*Consult [api-reference.md](api-reference.md) for complete listing*
