apple / swift-nio-http2

HTTP/2 support for SwiftNIO
https://swiftpackageindex.com/apple/swift-nio-http2/main/documentation/niohttp2
Apache License 2.0
462 stars 82 forks source link

Reduce error allocations #446

Closed glbrntt closed 2 months ago

glbrntt commented 2 months ago

Motivation:

Existential errors are unconditionally boxed. We typically create and use errors to fail promises when performing cleanup work. One example of this is failing pending writes when a stream channel is closed, however this is done unconditionally which means every stream channel incurs an allocation when it closes.

Modifications:

Result:

Fewer allocations