|
1 | 1 | /** |
2 | 2 | * vCPU and RAM for the Pi sandbox, shared by both provider builds and by sandbox |
3 | | - * pricing. The two providers had already drifted here. Daytona asked for 4 CPU / 8 GB |
4 | | - * while the E2B template asked for nothing and inherited its base default of |
5 | | - * 2 vCPU / 512 MB — a 16x memory gap between the provider Pi normally runs on and |
6 | | - * the one it fails over to, which would surface as the agent being killed on E2B |
7 | | - * for work that succeeded on Daytona. |
| 3 | + * pricing, so Pi gets the same machine on the provider it fails over to as on the one |
| 4 | + * it normally runs on. A template built without explicit sizes gets E2B's build default |
| 5 | + * of 2 vCPU / 1 GiB, an eighth of the memory Pi gets on Daytona. |
8 | 6 | * |
9 | | - * 512 MB is the real problem: the Pi CLI is a Node process holding an LLM |
| 7 | + * Memory is the dimension that matters: the Pi CLI is a Node process holding an LLM |
10 | 8 | * context, running beside a `git clone` of the user's repository, and Node has no |
11 | | - * graceful behaviour at that ceiling — it is OOM-killed, which reaches the user |
| 9 | + * graceful behaviour at its memory ceiling — it is OOM-killed, which reaches the user |
12 | 10 | * as an opaque agent failure rather than a diagnosable one. |
13 | 11 | * |
14 | 12 | * Memory is at E2B's Professional maximum (8192 MB per build) and CPU is half of |
15 | | - * its 8 vCPU maximum; the minimum is 1 vCPU / 512 MB. Sizing is per-second billed against allocated |
16 | | - * resources rather than used ones, so this costs roughly 3x the previous E2B |
17 | | - * default per sandbox-second. On the compute-bound phases that is close to |
18 | | - * neutral — the work finishes proportionally sooner — but Babysit deliberately |
19 | | - * idles between review polls, and idle seconds bill at the same rate. Lower |
| 13 | + * its 8 vCPU maximum. Sizing is per-second billed against allocated resources rather |
| 14 | + * than used ones, so this costs roughly 3x the E2B build default per sandbox-second. |
| 15 | + * On the compute-bound phases that is close to neutral — the work finishes |
| 16 | + * proportionally sooner — but Babysit deliberately idles between review polls, and |
| 17 | + * idle seconds bill at the same rate. Lower |
20 | 18 | * {@link PI_SANDBOX_CPU_COUNT} first if that idle time proves dominant: vCPU is |
21 | 19 | * ~3x the hourly rate of a GB of RAM, and RAM is the dimension that prevents |
22 | 20 | * hard failures. |
|
0 commit comments