-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Explore ways to reduce size of generated output #513
Comments
I'm sure we could make various changes to deflate the codegen output, but two questions here--
|
Hi @lucix-aws
go list -m -f '{{if not .Indirect}}{{.Path}}{{end}}' all | grep github.com/aws/aws-sdk-go-v2
github.com/aws/aws-sdk-go-v2
github.com/aws/aws-sdk-go-v2/config
github.com/aws/aws-sdk-go-v2/credentials
github.com/aws/aws-sdk-go-v2/service/accessanalyzer
github.com/aws/aws-sdk-go-v2/service/apigateway
github.com/aws/aws-sdk-go-v2/service/apigatewayv2
github.com/aws/aws-sdk-go-v2/service/athena
github.com/aws/aws-sdk-go-v2/service/cloudfront
github.com/aws/aws-sdk-go-v2/service/cloudtrail
github.com/aws/aws-sdk-go-v2/service/cloudwatch
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs
github.com/aws/aws-sdk-go-v2/service/codebuild
github.com/aws/aws-sdk-go-v2/service/docdb
github.com/aws/aws-sdk-go-v2/service/dynamodb
github.com/aws/aws-sdk-go-v2/service/ec2
github.com/aws/aws-sdk-go-v2/service/ecr
github.com/aws/aws-sdk-go-v2/service/ecs
github.com/aws/aws-sdk-go-v2/service/efs
github.com/aws/aws-sdk-go-v2/service/eks
github.com/aws/aws-sdk-go-v2/service/elasticache
github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2
github.com/aws/aws-sdk-go-v2/service/elasticsearchservice
github.com/aws/aws-sdk-go-v2/service/emr
github.com/aws/aws-sdk-go-v2/service/iam
github.com/aws/aws-sdk-go-v2/service/kafka
github.com/aws/aws-sdk-go-v2/service/kinesis
github.com/aws/aws-sdk-go-v2/service/kms
github.com/aws/aws-sdk-go-v2/service/lambda
github.com/aws/aws-sdk-go-v2/service/mq
github.com/aws/aws-sdk-go-v2/service/neptune
github.com/aws/aws-sdk-go-v2/service/rds
github.com/aws/aws-sdk-go-v2/service/redshift
github.com/aws/aws-sdk-go-v2/service/s3
github.com/aws/aws-sdk-go-v2/service/secretsmanager
github.com/aws/aws-sdk-go-v2/service/sns
github.com/aws/aws-sdk-go-v2/service/sqs
github.com/aws/aws-sdk-go-v2/service/sts
github.com/aws/aws-sdk-go-v2/service/workspaces |
Sure, and I agree, but that doesn't answer the question of whether the binary size is actually a concrete issue. Regardless you're certainly right that we can make size reductions in the codegen output throughout. We already achieved a significant overall reduction once with the recent authentication refactor. Since this is more of a smithy-related issue I'm going to move this to that repo and leave open. |
Describe the feature
The files
serialize.go
,deserialize.go
andvalidators.go
contain a lot of generated and uniform code. Using generics will reduce the package size.The total size of the services is 464 mb:
The size of these middleware is 182 mb, which is 40% of the total package size.
The output of the go-size-analizer for my application:
Use Case
Reducing the size of Golang binary
Proposed Solution
No response
Other Information
No response
Acknowledgements
AWS Go SDK V2 Module Versions Used
Go version used
The text was updated successfully, but these errors were encountered: