Files
Peter Pistorius 5b8acda506 Rename machinen to agent-ci
- Rename package from 'machinen' to 'agent-ci' across all source, tests, scripts, configs, and docs
- Rename CLI binary from 'machinen' to 'agent-ci'
- Rename .machinen → .agent-ci, .env.machinen → .env.agent-ci, MACHINEN_* → AGENT_CI_*
- Rename --runner flag to --name/-n (--runner still accepted for compat)
- agent-ci-dev script now builds DTU before running CLI
- Extract YAML compatibility tables to cli/compatibility.md
- Expand CLI usage docs with per-command flag tables
- Document DOCKER_HOST support for remote Docker
2026-03-12 22:35:26 +02:00

41 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Package Manager Cache Benchmark
Benchmarks install speed for **NPM**, **Yarn**, and **Bun** across 4 caching scenarios
using a real [create-rwsdk](https://www.npmjs.com/package/create-rwsdk) project.
## Why
Agent CI already caches PNPM installs via warm `node_modules` bind-mounts (symlinked into containers).
This experiment measures whether the same strategy works for other package managers.
## Run
```bash
# All package managers
bash bench.sh
# Specific ones
bash bench.sh --pm npm
bash bench.sh --pm yarn
bash bench.sh --pm bun
bash bench.sh --pm npm,bun
```
## Scenarios
| # | Scenario | What it tests |
| --- | ---------------- | ------------------------------------------------------- |
| 1 | **Cold install** | Fresh install, no cache, no `node_modules` |
| 2 | **Warm cache** | Global cache populated, but `node_modules` deleted |
| 3 | **Warm modules** | `node_modules` already present, incremental install |
| 4 | **Symlink only** | Symlink a cached `node_modules` — **no install at all** |
**Scenario 4 is the interesting one** — it's what Agent CI does for PNPM. If it's ≫5× faster
than cold install, the warm-modules strategy generalises to all package managers.
## Requirements
- **npm** (bundled with Node)
- **yarn** v1: `npm i -g yarn`
- **bun**: `curl -fsSL https://bun.sh/install | bash`