Compile time
A provider's description doesn't slow your build, however large it is,
because the compiler never reads it. Descriptions are large, by the
Content-Length of the raw files:
| File | Size |
|---|---|
Stripe openapi/spec3.json |
8.3 MB |
| AWS S3 Smithy model | 3.0 MB |
| AWS EC2 Smithy model | 6.7 MB |
AWS publishes about 400 such models, one per service. Parsing 8 MB takes milliseconds. The cost is resolving, checking and generating thousands of schemas on every build and every keystroke.
So an importer reads a description once, and writes the package. On a
build, the compiler reads each package's index and provider.jadpo,
finds each resource the app calls by its file name, and loads only those.
It caches the check per package digest, so an unchanged package costs
nothing after the first build. An app using S3 and SES loads one driver
connection, one small package and a handful of files from it.
Markdown for agents: /docs/compile-time.md.Built from Jadpo main at a707efb.