Skip to content

reduce general allocation overhead #3197

@clarkmcc

Description

@clarkmcc

The following is a screenshot from an alloc_objects profile representing 36,153 calls to sqs.DeleteMessage in 2m which resulted in over 16,067,498 allocated objects by just the smithy-go library alone which is over 400 allocations per call. We're pushing against a significant amount of GC pressure and want to understand whether this can be improved, so here are my questions:

  1. Is there a possibility to reduce optimizations/add pooling, etc to the smithy-go library?
  2. In the immediate term, are there any knobs we can mess with to shrink this? For example, I noticed that almost 1M allocations came from github.com/aws/smithy-go/transport/http.withMetrics, but we don't care about those metrics, so if we can disable them and save 6% of the allocations that are happening, that would be a big win.

I'm happy to provide more info, or even share a profile privately.

Image

Metadata

Metadata

Assignees

Labels

feature-requestA feature should be added or improved.p2This is a standard priority issuequeuedThis issues is on the AWS team's backlog

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions