← All posts

Bigger apps now go live faster

We changed how spawnpoint puts your app onto the computer it runs on, and larger apps now go live sooner. An app with about 4 MB of files used to take 93 seconds from your agent's request to a working link. It now takes 72. An update to that app went from 37 seconds to 22. We timed both ways on the live service, with the same small Python app at three sizes, five new deploys and five updates at each size.

First deploy, in seconds from your agent's request to a working link. Each number is the middle of five runs, with the fastest and slowest in brackets.

App size Before Now
4 KB 70 (64 to 83) 70 (67 to 70)
512 KB 70 (67 to 73) 70 (67 to 74)
4 MB 93 (84 to 108) 72 (72 to 72)

Update, in seconds from your agent's request to the new version being live.

App size Before Now
4 KB 16 (16 to 21) 21 (21 to 21)
512 KB 24 (18 to 24) 22 (16 to 22)
4 MB 37 (37 to 38) 22 (18 to 25)

A small app takes about 70 seconds either way. Most of that time is the computer starting up and your app's packages installing, and neither of those changed. An update to a small app now takes 21 seconds, a few more than the 16 it took before.

Until this week, our servers sent your app's files to its computer as a long series of small pieces, about 260 of them for a 4 MB app, over a connection that sometimes dropped and had to be retried. Now a small program of ours starts on the computer when it boots, asks our servers for work, and downloads the app's files as one file. The larger the app, the more time that saves. Your agent deploys the same way it did before.

That program does four things. It downloads your app, runs the steps that install and start it, reports each step back to us, and puts the previous version back if an update fails. Because the computer now fetches its own work, our servers no longer hold a key that can open every app's computer.