drupflare/worker - v1.0.4
    Preparing search index...

    Variable PAID_PROFILEConst

    PAID_PROFILE: PlanProfile = ...

    Paid: bounded by hit latency, not the 30 s CPU budget.

    The batch is small because php._run() is synchronous: a fill occupies the single-threaded object and queued hits wait. At fillBatchSize: 25 alarms cost 4,337-5,832 ms of cpuTime (n=6) and racing /__serve calls waited 5.0-6.8 s (n=5); a wall-clock guard cannot bound it (frozen clock). The alarm re-arms 130-160 ms apart, so short batches match long ones' throughput; 8 fills at ~81 ms is ~650 ms of occupancy. Drain limits stay small for subrequests and memory. Batching does amortise (per-page wall 109 ms at k=1 to 42.9 at k=20, deployed free, n=5), but that is throughput on an idle object; the bounds are hit latency and the 128 MiB isolate.