---
read_when:
    - Вы проверяете оптимизацию производительности и уменьшение размера пакета за май 2026 года
    - Вам нужны цифры, лежащие в основе публикации в блоге о производительности и зависимостях OpenClaw
    - Вы изменяете критерии выпуска, фиксацию версий пакетов или границы зависимостей плагинов
summary: Визуальная сводка и технические подтверждения оптимизации производительности, размера пакета, зависимостей и shrinkwrap-файла за май 2026 года
title: Проверка производительности релиза
x-i18n:
    generated_at: "2026-07-13T18:45:15Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 9e98ffc9d63e14e078a19368917eb4278695e1426048dc21942f928af145d5e1
    source_path: reference/release-performance-sweep.md
    workflow: 16
---

Эта страница содержит подтверждающие данные об оптимизации производительности,
размера пакета и зависимостей OpenClaw, а также очистке shrinkwrap в мае 2026 года. Это техническое дополнение
к публичной публикации в блоге.

Здесь объединены два аудита:

- **Проверка производительности релизов:** GitHub Releases от `v2026.5.28` до
  стабильного `v2026.4.23` включительно с использованием рабочего процесса `OpenClaw Performance`,
  `profile=smoke`, контура фиктивного провайдера. Большинство строк тегов основаны на одном замере; строки
  `v2026.5.27` и `v2026.5.28` используют последние артефакты ветки релиза
  с 3 повторениями.
- **Контекст начала апреля:** опубликованные базовые показатели фиктивного провайдера
  `clawgrit-reports` от `v2026.4.1` до `v2026.5.2`, используемые только для того, чтобы не считать
  проблемные релизы конца апреля публичной базовой линией производительности.
- **Проверка размера установки:** чистые установки `npm install --ignore-scripts`
  во временные пакеты с использованием `du -sk node_modules` для измерения размера и
  обхода `node_modules` для подсчёта экземпляров пакетов.
- **Проверка размера пакета npm:** `npm pack openclaw@<version> --dry-run --json`
  для опубликованных релизов с фиксацией размера сжатого архива, размера после распаковки и
  количества файлов.

<Warning>
В основной проверке производительности используется один тестовый замер для каждого тега, кроме строк
`v2026.5.27` и `v2026.5.28`, где используются последние артефакты ветки релиза
с 3 повторениями. В контексте начала апреля используются опубликованные медианы по 3 повторениям
из `clawgrit-reports`. Рассматривайте эти числа как подтверждение тенденции и
сигнал для поиска регрессий, а не как статистику для критериев выпуска.
</Warning>

## Сводка

Охват производительности: **77 запрошенных релизов**, **74 точки на основе артефактов**
и **3 недоступных запуска CI**. Последняя измеренная точка стабильного релиза: `v2026.5.28`.

<CardGroup cols={2}>
  <Card title="Стабильный цикл агента" icon="gauge">
    **Холодный цикл быстрее в 5,1 раза**

    - `v2026.4.14`: 9,8 с
    - `v2026.5.28`: 1,9 с

  </Card>
  <Card title="Опубликованный пакет" icon="package">
    **Архив размером 17,9 МБ**

    Последний стабильный пакет: размер снизился с мартовского пикового значения 43,3 МБ.

  </Card>
  <Card title="Последняя стабильная установка" icon="hard-drive">
    **Чистая установка размером 361,7 МиБ**

    Вложенное дерево зависимостей OpenClaw значительно сокращено относительно пикового значения
    при внедрении shrinkwrap в `2026.5.22`, хотя в локальном аудите установки
    всё ещё остаётся уменьшенное вложенное дерево размером 259,7 МиБ.

  </Card>
  <Card title="Граф зависимостей" icon="boxes">
    **300 установленных пакетов**

    Измерено как количество уникальных корней «имя/версия» пакетов в чистой установке
    с отключёнными скриптами; на 71 корень меньше, чем в предыдущем стабильном релизе.

  </Card>
</CardGroup>

## Что изменилось в 5.28

Оптимизация между `v2026.5.27` и `v2026.5.28` уменьшила граф установки
по умолчанию, не удаляя сами возможности.

<CardGroup cols={2}>
  <Card title="Корневой граф по умолчанию" icon="git-branch">
    Количество уникальных корней «имя/версия» пакетов снизилось с **371** до **300**. Количество экземпляров
    пакетов снизилось с **372** до **301**.
  </Card>
  <Card title="Вложенное дерево" icon="unplug">
    Размер вложенного `openclaw/node_modules` снизился с **656,1 МиБ** до **259,7 МиБ** в
    том же локальном аудите установки.
  </Card>
  <Card title="Необязательные нативные конусы" icon="cpu">
    Нативный конус пакетов `@napi-rs/canvas` для всех платформ перестал попадать в
    установку по умолчанию.
  </Card>
  <Card title="Поверхность цепочки поставок" icon="shield">
    Меньше пакетов по умолчанию означает меньше архивов, сопровождающих, нативных бинарных файлов,
    действий во время установки и путей транзитивного обновления, которым необходимо доверять по умолчанию.
  </Card>
</CardGroup>

<Tip>
Shrinkwrap сам по себе не был проблемой. Проблемой была неудачная структура пакета.
`v2026.5.28` по-прежнему поставляется со shrinkwrap, но вложенное дерево зависимостей стало значительно
меньше, а разветвление canvas для всех платформ исчезло в локальном аудите.
</Tip>

## Основные показатели

Не используйте проблемные строки конца апреля как публичные базовые показатели производительности.
`v2026.4.23` и `v2026.4.29` полезны как подтверждение регрессии, но крупные
изменения уровня `14x` в основном отражают восстановление после неудачной линейки релизов.

Для повествования в блоге используйте опубликованную базовую линию начала апреля как ориентир масштаба.
Базовая линия — `v2026.4.14` из опубликованного запуска фиктивного провайдера
`clawgrit-reports` (3 повторения; этот запуск завершился сбоем только потому, что диагностическая
временная шкала не была выведена, поэтому медианы холодного и прогретого циклов, а также RSS всё ещё полезны
как приблизительный ориентир). Рассматривайте это как контекст для повествования, а не как статистику
для критериев выпуска.

| Метрика          | Базовая линия начала апреля | `v2026.5.28` |                    Изменение |
| --------------- | ---------------------: | -----------: | -----------------------: |
| Холодный цикл агента |                9 819 мс |      1 908 мс | ниже на 80,6%, быстрее в 5,1 раза |
| Прогретый цикл агента |                7 458 мс |      1 870 мс | ниже на 74,9%, быстрее в 4,0 раза |
| Пиковый RSS агента  |                686,2 МБ |      581,0 МБ |              ниже на 15,3% |

В рамках майской проверки последняя строка ветки релиза существенно улучшилась относительно
`v2026.5.2`:

| Метрика          | `v2026.5.2` | `v2026.5.28` |       Изменение |
| --------------- | ----------: | -----------: | ----------: |
| Холодный цикл агента |     3 897 мс |      1 908 мс | ниже на 51,0% |
| Прогретый цикл агента |     3 610 мс |      1 870 мс | ниже на 48,2% |
| Пиковый RSS агента  |     613,7 МБ |      581,0 МБ |  ниже на 5,3% |

По сравнению с предыдущим стабильным релизом:

| Метрика          | `v2026.5.27` | `v2026.5.28` |       Изменение |
| --------------- | -----------: | -----------: | ----------: |
| Холодный цикл агента |      2 231 мс |      1 908 мс | ниже на 14,5% |
| Прогретый цикл агента |      2 226 мс |      1 870 мс | ниже на 16,0% |
| Пиковый RSS агента  |      649,0 МБ |      581,0 МБ | ниже на 10,5% |

### Размер установки

| Метрика                                          |  Базовая линия | `v2026.5.28` |       Изменение |
| ----------------------------------------------- | --------: | -----------: | ----------: |
| Размер установки относительно пика `2026.5.22`              | 1 020,6 МБ |     361,7 МиБ | ниже на 64,6% |
| Размер установки относительно последнего релиза `2026.5.27`    |  767,1 МиБ |     361,7 МиБ | ниже на 52,8% |
| Зависимости относительно месячного максимума `2026.2.26`      |       645 |          300 | ниже на 53,5% |
| Зависимости относительно последнего релиза `2026.5.27`    |       371 |          300 | ниже на 19,1% |
| Вложенный `openclaw/node_modules` относительно `2026.5.22` |   911,8 МБ |     259,7 МиБ | ниже на 71,5% |
| Вложенный `openclaw/node_modules` относительно `2026.5.27` |  656,1 МиБ |     259,7 МиБ | ниже на 60,4% |

### Размер пакета npm

| Версия     | Сжатый архив | Распакованный пакет |  Файлы | Примечания                             |
| ----------- | -----------------: | ---------------: | -----: | --------------------------------- |
| `2026.1.30` |             12,8 МБ |           33,5 МБ |  4 607 | ранний пакет после ребрендинга           |
| `2026.2.26` |             23,6 МБ |           82,9 МБ | 10 125 | рост функциональности                    |
| `2026.3.31` |             43,3 МБ |          182,6 МБ | 21 037 | максимальный размер пакета           |
| `2026.4.29` |             22,9 МБ |           74,6 МБ |  9 309 | заметное сокращение пакета           |
| `2026.5.12` |             23,4 МБ |           80,1 МБ | 12 035 | масштабное выделение внешних плагинов       |
| `2026.5.22` |             17,2 МБ |           76,9 МБ | 12 386 | документация и ресурсы исключены из пакета |
| `2026.5.27` |             17,8 МБ |           79,0 МБ | 12 509 | предыдущий стабильный пакет           |
| `2026.5.28` |             17,9 МБ |           81,0 МБ |  9 082 | последний стабильный пакет             |

`2026.5.12` — заметная в журнале изменений веха выделения плагинов:
Amazon Bedrock, Bedrock Mantle, Slack, песочница OpenShell, Anthropic Vertex,
Matrix и WhatsApp были вынесены из основного пути зависимостей, поэтому их конусы зависимостей
устанавливаются вместе с соответствующими плагинами, а не при каждой основной установке.

## Сводка циклов агента Kova

В стабильной апрельской линейке есть две разные истории. В начале апреля работа была медленной,
но предсказуемой. Конец апреля превратился в резкий обвал производительности. В `v2026.5.2`
контур фиктивного провайдера впервые опускается в диапазон 3–5 с и начинает стабильно
проходить в предоставленной проверке.

Ранее опубликованный контекст:

| Релиз      | Kova | Холодный цикл | Прогретый цикл | Пиковый RSS агента |
| ------------ | ---- | --------: | --------: | -------------: |
| `v2026.4.10` | СБОЙ |  11 031 мс |   7 962 мс |        679,0 МБ |
| `v2026.4.12` | СБОЙ |  11 965 мс |   8 289 мс |        713,5 МБ |
| `v2026.4.14` | СБОЙ |   9 819 мс |   7 458 мс |        686,2 МБ |
| `v2026.4.20` | СБОЙ |  22 314 мс |  18 811 мс |        810,8 МБ |
| `v2026.4.22` | СБОЙ |   9 630 мс |   7 459 мс |        743,0 МБ |

Предоставленная проверка:

| Релиз             | Kova | Холодный цикл | Прогретый цикл | Пиковый RSS агента |
| ------------------- | ---- | --------: | --------: | -------------: |
| `v2026.4.23`        | СБОЙ |  47 847 мс |   8 010 мс |      1 082,7 МБ |
| `v2026.4.24`        | СБОЙ |  48 264 мс |  25 483 мс |        996,0 МБ |
| `v2026.4.25`        | СБОЙ |  81 080 мс |  59 172 мс |      1 113,9 МБ |
| `v2026.4.26`        | СБОЙ |  76 771 мс |  54 941 мс |      1 140,8 МБ |
| `v2026.4.27`        | СБОЙ |  60 902 мс |  33 699 мс |      1 156,0 МБ |
| `v2026.4.29`        | СБОЙ |  94 031 мс |  57 334 мс |      3 613,7 МБ |
| `v2026.5.2`         | УСПЕХ |   3 897 мс |   3 610 мс |        613,7 МБ |
| `v2026.5.7`         | УСПЕХ |   3 923 мс |   3 693 мс |        654,1 МБ |
| `v2026.5.12`        | УСПЕХ |   7 248 мс |   6 629 мс |        834,8 МБ |
| `v2026.5.18`        | УСПЕХ |   3 301 мс |   2 913 мс |        630,3 МБ |
| `v2026.5.20`        | УСПЕХ |   3 413 мс |   2 952 мс |        643,2 МБ |
| `v2026.5.22`        | УСПЕХ |   4 494 мс |   4 093 мс |        654,3 МБ |
| `v2026.5.26`        | УСПЕХ |   2 626 мс |   2 282 мс |        660,4 МБ |
| `v2026.5.27-beta.1` | УСПЕХ |   2 575 мс |   2 217 мс |        635,3 МБ |
| `v2026.5.27`        | УСПЕХ |   2 231 мс |   2 226 мс |        649,0 МБ |
| `v2026.5.28`        | УСПЕХ |   1 908 мс |   1 870 мс |        581,0 МБ |

## Измерения исходного кода

Измерения исходного кода были пропущены для 17 успешно проверенных старых ссылок, поскольку в этих деревьях
исходного кода ещё не было необходимых точек входа для измерений. Метрики циклов агента
для этих ссылок всё же доступны.

Репрезентативные точки измерений исходного кода:

| Релиз             | `readyz` по умолчанию, p50 | 50 плагинов, `readyz` p50 | Работоспособность CLI, p50 | Макс. RSS плагина |
| ------------------- | -------------------: | ----------------------: | -------------: | -------------: |
| `v2026.4.29`        |              2 819 мс |                 2 618 мс |        1 679 мс |        389,0 МБ |
| `v2026.5.2`         |              2 324 мс |                 2 013 мс |        1 384 мс |        377,2 МБ |
| `v2026.5.7`         |              1 649 мс |                 1 540 мс |        1 175 мс |        387,6 МБ |
| `v2026.5.18`        |              1 942 мс |                 1 927 мс |          607 мс |        426,5 МБ |
| `v2026.5.20`        |              1 966 мс |                 1 987 мс |          621 мс |        455,0 МБ |
| `v2026.5.22`        |              2 081 мс |                 1 884 мс |        5 095 мс |        444,2 МБ |
| `v2026.5.26`        |              1 546 мс |                 1 634 мс |          656 мс |        400,4 МБ |
| `v2026.5.27-beta.1` |              1 462 мс |                 1 548 мс |          548 мс |        394,0 МБ |
| `v2026.5.27`        |              1 491 мс |                 1 571 мс |          553 мс |        401,5 МБ |
| `v2026.5.28`        |              1 457 мс |                 1 474 мс |          623 мс |        386,1 МБ |

Всплеск работоспособности CLI в `v2026.5.22` виден в этой таблице, хотя
контур циклов агента всё же прошёл проверку. Сохраняйте измерения исходного кода при расследовании
точечных регрессий CLI или Gateway.

## Аудит размера установки

В выборке зависимостей используется один стабильный выпуск за каждый месяц, а также
событие добавления shrinkwrap `2026.5.22` и последний выпуск `2026.5.28`.

| Точка              | Установленные зависимости | Новая установка | Пакет OpenClaw | Вложенные `openclaw/node_modules` | Корневой shrinkwrap | Поведение установки Canvas                   |
| ------------------ | -------------: | ------------: | ---------------: | -----------------------------: | --------------- | ----------------------------------------- |
| Янв `2026.1.30`    |            605 |       438.4MB |           45.8MB |                          2.4MB | нет              | оболочка верхнего уровня + `darwin-arm64`        |
| Фев `2026.2.26`    |            645 |       575.7MB |          110.1MB |                          3.5MB | нет              | оболочка верхнего уровня + `darwin-arm64`        |
| Мар `2026.3.31`    |            438 |       584.1MB |          234.8MB |                            0MB | нет              | оболочка верхнего уровня + `darwin-arm64`        |
| Апр `2026.4.29`    |            392 |       335.0MB |           97.4MB |                            0MB | нет              | ничего не установлено                            |
| `2026.5.22`        |            401 |     1,020.6MB |        1,020.4MB |                        911.8MB | да             | вложенные: все 12 пакетов `@napi-rs/canvas` |
| Май `2026.5.26`    |            371 |       767.5MB |          767.4MB |                        656.4MB | да             | вложенные: все 12 пакетов `@napi-rs/canvas` |
| `2026.5.27`        |            371 |      767.1MiB |         766.9MiB |                       656.1MiB | да             | вложенные: все 12 пакетов `@napi-rs/canvas` |
| Последний `2026.5.28` |            300 |      361.7MiB |         361.6MiB |                       259.7MiB | да             | ничего не установлено                            |

### Граница shrinkwrap

`2026.5.20` был выпущен без корневого shrinkwrap и без большого вложенного дерева
зависимостей OpenClaw. В `2026.5.22` появился корневой shrinkwrap, и было установлено 911.8MB
во вложенных `openclaw/node_modules`. В `2026.5.28` shrinkwrap сохраняется, и по-прежнему
устанавливается 259.7MiB во вложенных `openclaw/node_modules`, но при локальном аудите
новой установки больше не устанавливаются пакеты `@napi-rs/canvas`.

Проверка опубликованных tarball подтверждает границу:

| Версия     | Опубликована как стабильная? | Корневой `npm-shrinkwrap.json` | Примечания                                 |
| ----------- | ----------------- | -------------------------- | ------------------------------------- |
| `2026.5.20` | да               | нет                         | последний стабильный выпуск до shrinkwrap |
| `2026.5.21` | нет                | н/д                        | нет стабильного выпуска npm                 |
| `2026.5.22` | да               | да                        | добавлен shrinkwrap                 |
| `2026.5.23` | нет                | н/д                        | нет стабильного выпуска npm                 |
| `2026.5.24` | нет                | н/д                        | нет стабильного выпуска npm                 |
| `2026.5.25` | нет                | н/д                        | нет стабильного выпуска npm                 |
| `2026.5.26` | да               | да                        | вложенное дерево зависимостей всё ещё присутствует  |
| `2026.5.27` | да               | да                        | вложенное дерево зависимостей всё ещё присутствует  |
| `2026.5.28` | да               | да                        | вложенное дерево зависимостей значительно меньше   |

Важное различие: **сам shrinkwrap не является проблемой**.
`v2026.5.28` по-прежнему поставляется с корневым shrinkwrap. Проблема заключалась в структуре пакета,
из-за которой npm создавал большое вложенное дерево зависимостей OpenClaw и все 12
платформенных пакетов `@napi-rs/canvas`. Вложенное дерево стало меньше в `v2026.5.28`,
а платформенное разветвление Canvas больше не попадает в локальный аудит.

Простое объяснение shrinkwrap и проверок пакетов
на уровне сопровождающих см. в разделе [npm shrinkwrap](/ru/gateway/security/shrinkwrap).

## Интерпретация с точки зрения цепочки поставок

Количество зависимостей — это показатель операционной безопасности, а не только
размера установки. Каждый пакет расширяет множество сопровождающих, tarball,
транзитивных обновлений, необязательных нативных двоичных файлов и действий во время
установки, которым должны доверять операторы.

Направление очистки:

- не включать тяжёлые и необязательные возможности в стандартную установку ядра
- передать пакетам плагинов владение их графом зависимостей среды выполнения
- избегать исправления пакетов менеджером пакетов во время запуска Gateway
- сохранять детерминированность установки, не вызывая материализацию нативных
  пакетов для всех платформ
- оставлять сценарии установки отключёнными при приёмке пакетов и измерениях
- выявлять вложенные деревья зависимостей и взрывной рост необязательных нативных
  зависимостей до публикации

Связанная документация:

- [Разрешение зависимостей плагинов](/ru/plugins/dependency-resolution)
- [Инвентаризация плагинов](/ru/plugins/plugin-inventory)
- [Полная проверка выпуска](/ru/reference/full-release-validation)
