envoyproxy / envoyproxy/envoy-mobile

performance: create fully-bridged types for headers and data

Open
#949 2 comments 0 reactions 1 assignee Claimed by @goaway View on GitHub
no stalebot perf platform/android platform/ios
Dominant language
Java
Stars
566
Forks
85
PR merge metrics
No merged PRs in 30d

Description

Instead of converting from a platform type to a bridge (c) type to an Envoy-native type when crossing library layer boundaries, instead we could create platform and Envoy-native implementations backed by the bridge type, such that conversion would be largely unnecessary. This could substantially reduce call overhead.

This optimization could be especially beneficial for platform-bridged filters, where frequent additional traversals of library boundaries would occur with header/data payloads. Note that at present the interfaces for platform filters utilize immutable types for payloads; these would need to change to mutable types (which Envoy utilizes for native filters) to realize this benefit.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.