@camstack/types 1.2.361 → 1.2.363

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1328,6 +1328,43 @@ export interface AddonExecution {
1328
1328
  * `0` means "no ceiling for this addon" and, being the maximum, lifts the whole runner's cap.
1329
1329
  */
1330
1330
  readonly maxOldSpaceMb?: number;
1331
+ /**
1332
+ * V8 young-generation semi-space in MB (`--max-semi-space-size`), for a runner
1333
+ * whose allocation pattern V8's class default fits badly.
1334
+ *
1335
+ * OMITTED (the common case) → the class default: a light runner's 2 MB, a heavy
1336
+ * runner's V8 default (64 MB on a 64-bit host). Declare it from a MEASUREMENT of
1337
+ * the runner's GC log, never from taste. The case it exists for: a heavy runner
1338
+ * whose live old space is small while its allocation rate is high (`stream-broker`,
1339
+ * ~100 MB live against ~11 k RTP packets/s). V8 sizes a mark-compact's old-space
1340
+ * headroom from the live set (~0.5×), and when that headroom is BELOW the young
1341
+ * generation, every scavenge promotes enough to restart incremental marking —
1342
+ * measured on the hub as ~166 major GCs a minute and not one scavenge, 45–60 % of
1343
+ * a core. A semi-space the headroom can absorb lets V8 scavenge again
1344
+ * (`semiSpaceMb: 8` → 176 → 20.8 majors/min, CPU 60 → 21.7 %).
1345
+ *
1346
+ * Range: an integer in `[1, 256]`; anything else is ignored. A runner's value is
1347
+ * the MAXIMUM declared by any co-located addon (D2/D29): a smaller young
1348
+ * generation than a member asked for would hand that member the churn it
1349
+ * declared its way out of.
1350
+ */
1351
+ readonly semiSpaceMb?: number;
1352
+ /**
1353
+ * V8 initial old-space size in MB (`--initial-old-space-size`): the old-space
1354
+ * headroom the runner STARTS with, so a heap that reaches its steady state in
1355
+ * seconds does not spend them in back-to-back mark-compacts while V8 grows the
1356
+ * limit from the live set.
1357
+ *
1358
+ * OMITTED (the common case) → V8's default (grown from the live set). Declare it
1359
+ * with {@link AddonExecution.semiSpaceMb} and from the same measurement; the two
1360
+ * flags are one remedy, and a semi-space V8 cannot fit under the old-space
1361
+ * headroom buys nothing. Range: an integer in `[16, 65536]`, ignored otherwise,
1362
+ * and clamped at spawn to the runner's old-space CEILING
1363
+ * ({@link AddonExecution.maxOldSpaceMb} or the class default) — an initial size
1364
+ * above the ceiling is a flag V8 refuses. A runner's value is the MAXIMUM any
1365
+ * co-located addon declares (D2/D29).
1366
+ */
1367
+ readonly initialOldSpaceMb?: number;
1331
1368
  /**
1332
1369
  * Whole-process RSS budget in MB — the number the memory watchdog alarms on.
1333
1370
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.361",
3
+ "version": "1.2.363",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",