Hello Ian,
Yes, I think it is time I explain the 'why' of my inquiries into this. :-)
My use case is this: Go, with its fast startup, pretty fast execution and pretty small memory footprint, as well as it's ability to deploy as a single binary, makes it a great language for cloud function-as-a-service (FAAS).
My specific FAAS use case is for static, read-only databases: I am looking at embedding modest sized (few GB to 10s of GB) read-only databases in the Go binary.
This makes it possible to avoid the cost/complication of either using a cloud db, or storing the db in (in the case of AWS) on a file system like EFS (NFS), which the lambda has to mount. The databases are only updated every couple of months / yearly.
This is perhaps rather an obscure use case, but one that I think a number of people would want to take advantage of.
>Note that such files are going to take a long time to create and will
be unwieldy to use.
Agreed. On my older desktop (Dell 7010 Kubuntu 20.10 4core i5 16GM) it takes 45s to compile a trivial Go program that embeds three 500GB files.
Actually, this is no different from those who want the simplicity and cost savings of serving an entire static web site from embedded files. The primary difference is the scale.
Thanks,
Glen