Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The AWS Go SDK is the vast majority of that bulk. In general go binaries can get pretty big but AWS has hundreds of services with thousands of APIs and it’s all going to have to get included in the AWS provider.


Also AWS has so many services that the SDKs are mainly generated from json descriptions + nice wrappers on top. That leads to a different and less abstracted type of code than you'd write yourself - which leads to bigger compiled objects.

Ruby had this problem too and at some point split the SDK into multiple gems so you don't have to install everything.


The Azure sdks are the same. Auto generated from some underlying description. Then for backwards compatibility, every previous version is its own complete copy, all included in one single bundle.


The AWS Go SDK is actually a case study on making everything into pointers


It’s really a case in the abject inadequacy of the Go type system.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: