Skip to content

Release v3.8.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 02:22
933a8f1

A play session went from most of twenty seconds to about eleven, on the CPU a play pod actually gets. The model-size term is gone with it: a 120-slice model used to cost 9-13 seconds more than a one-slice model and now costs under a second more.

Container start to first answer, same models and limits before and after:

before after
0.5 CPU, 1 slice 21.8s / 18.7s 10.9s / 11.0s
0.5 CPU, 120 slices 30.4s / 34.5s 11.9s / 11.3s
2 CPU, 1 slice 8.0s 4.3s

Most of it comes from Arc 21.19.4 and Chronicle 16.37.0; the rest is here.

Added

  • The session's Chronicle Workbench is served at /workbench, on the model's own port. The bundled kernel serves one already, but on a port a play session does not publish — so there was no way to look at the events a model produced. It follows a path-prefixed reverse proxy: the page is told where it is really being served from, and Arc's client takes that as its API base path for every command, query, SSE and WebSocket URL

Changed

  • A play session's Chronicle runs with authentication turned off. It is embedded in the container with its only client, reached over loopback, and thrown away with the container — the credential exchange protected nothing and cost 1.9s of cold start unconstrained, 3.7s under the CPU limit a session runs on. It also means nobody has to sign in to look at a disposable sandbox's Workbench
  • Chronicle pinned to 16.37.0 and Arc to 21.19.4, and the bundled kernel image tracks the Chronicle pin as it must

Fixed

  • The wait for the bundled kernel no longer rounds up to the next two-second tick — it threw away 2.06s of a 14.9s start at half a core, and 1.18s of 8s on a fast machine