# hardware-counters

Помогает измерять аппаратные счётчики процессора через perf и PAPI. Скилл рассчитывает IPC, промахи кэша L1–LLC и связывает события PMU со строками кода.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 545 установок · ★ 267
- Автор: mohitmishra786
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/profilers/hardware-counters/SKILL.md
- Обновлён: 2026-06-27
- HTML: https://affpapa.org/nevibecode/skills/hardware-counters

## Что делает

Скилл даёт ассистенту готовые сценарии для замера метрик процессора. Он подсказывает команды `perf stat` для снятия счётчиков, вычисления IPC и CPI, а также расчёта MPKI для выявления проблем с памятью. Если стандартных псевдонимов ядра не хватает, скилл переходит к сырым кодам PMU через `ocperf` или `libpfm4`.

Для поиска узких мест скилл предлагает связывать события с исходным кодом с помощью `perf record` и `perf annotate`. Бинарник обязан быть собран с отладочными символами, иначе сопоставить адреса с конкретными строками программы не получится.

Помимо утилиты `perf`, скилл включает шаблоны кода на C для библиотеки PAPI и команды сборки Intel PCM через CMake. Это позволяет снимать пропускную способность шины памяти раз в секунду или встраивать замеры прямо в бинарник.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill hardware-counters -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/hardware-counters/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/hardware-counters/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill hardware-counters -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/hardware-counters/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill hardware-counters -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/hardware-counters/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install mohitmishra786/low-level-dev-skills hardware-counters
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/hardware-counters/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill hardware-counters -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/mohitmishra786/low-level-dev-skills --path skills/profilers/hardware-counters
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/hardware-counters/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill hardware-counters -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/profilers/hardware-counters/SKILL.md

## Когда брать
- рассчитать IPC и выявить упор в память через MPKI
- найти строки исходного кода с максимальным числом промахов LLC
- замерить частоту неверных предсказаний переходов через perf stat
- встроить замер аппаратных счётчиков в код на C через библиотеку PAPI
- собрать метрики пропускной способности памяти через Intel PCM

## Примеры запросов агенту
- Покажи, как через perf stat посчитать IPC и процент промахов L1 и LLC для программы ./prog
- Как связать промахи кэша LLC-load-misses со строками исходного кода через perf annotate?
- Напиши пример на C для замера инструкций и циклов через библиотеку PAPI

## Похожие
- [mcp-builder](https://affpapa.org/nevibecode/skills/mcp-builder.md) — скилл · 130949 установок
- [claude-api](https://affpapa.org/nevibecode/skills/claude-api.md) — скилл · 74198 установок
- [lark-im](https://affpapa.org/nevibecode/skills/lark-im.md) — скилл · 472900 установок
- [lark-event](https://affpapa.org/nevibecode/skills/lark-event.md) — скилл · 466800 установок
- [caveman-discover](https://affpapa.org/nevibecode/skills/caveman-discover.md) — скилл · 104400 установок
- [migration](https://affpapa.org/nevibecode/skills/migration.md) — скилл · 103900 установок

Из того же набора: [mohitmishra786/low-level-dev-skills](https://affpapa.org/nevibecode/by/mohitmishra786/low-level-dev-skills.md) — 79 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
