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

Ця сторінка містить свідчення, на яких ґрунтується виконане в травні 2026 року очищення OpenClaw, пов’язане з продуктивністю,
розміром пакета, залежностями та shrinkwrap. Вона є технічним доповненням
до публічної статті в блозі.

Тут об’єднано два аудити:

- **Перевірка продуктивності випусків:** GitHub Releases від `v2026.5.28` до
  стабільного `v2026.4.23` включно з використанням робочого процесу `OpenClaw Performance`,
  `profile=smoke` і контуру з імітованим постачальником. Більшість рядків тегів містять один зразок;
  рядки `v2026.5.27` і `v2026.5.28` використовують найновіші артефакти гілок випусків
  із трьома повтореннями.
- **Контекст початку квітня:** опубліковані базові показники `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`
  для опублікованих випусків із фіксацією розміру стисненого архіву tar, розпакованого пакета та
  кількості файлів.

<Warning>
Основна перевірка продуктивності використовує один smoke-зразок для кожного тегу, крім
рядків `v2026.5.27` і `v2026.5.28`, які використовують найновіші артефакти
гілок випусків із трьома повтореннями. Для контексту початку квітня використано опубліковані медіани
трьох повторень із `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">
    **Архів tar розміром 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">
    Менше стандартних пакетів означає менше архівів tar, супроводжувачів, нативних двійкових файлів,
    дій під час встановлення та транзитивних шляхів оновлення, яким потрібно довіряти за замовчуванням.
  </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

| Версія      | Стиснений архів tar | Розпакований пакет | Файли | Примітки                              |
| ----------- | ------------------: | -----------------: | ----: | ------------------------------------- |
| `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 | `readyz` p50 із 50 плагінами | Стан CLI p50 | Макс. RSS Plugin |
| ------------------- | -----------------------: | ---------------------------: | ------------: | ---------------: |
| `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, а у вкладений
`openclaw/node_modules` встановлювалося 911.8MB. `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](/uk/gateway/security/shrinkwrap).

## Інтерпретація ланцюга постачання

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

Напрям очищення:

- залишати важкі та необов’язкові можливості поза стандартним встановленням ядра
- покласти володіння графом залежностей середовища виконання на пакети Plugin
- уникати виправлення пакетним менеджером під час запуску Gateway
- зберігати детерміновані встановлення, не спричиняючи створення нативних пакетів
  для всіх платформ
- залишати сценарії встановлення вимкненими у шляхах приймання та вимірювання пакетів
- виявляти вкладені дерева залежностей і вибухове зростання необов’язкових нативних
  залежностей до публікації

Пов’язана документація:

- [Визначення залежностей Plugin](/uk/plugins/dependency-resolution)
- [Інвентаризація Plugin](/uk/plugins/plugin-inventory)
- [Повна перевірка випуску](/uk/reference/full-release-validation)
