-
Notifications
You must be signed in to change notification settings - Fork 84
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move to String-backed HPACK representations. (#89)
Motivation: When originally written our HPACK implementation targetted Swift 4.2, which had performance issues when storing mostly-ASCII data in Strings. For this reason we had a number of data types that used ByteBuffers as their backing storage and reified Strings when necessary. In Swift 5 this is no longer worthwhile: in fact, it imposes performance penalties above and beyond simply using the Strings. For this reason, we should move to a simpler model where we simply store Strings again. Modifications: - Rewrote all HPACK data structures to use Strings as their backing store. - Removed now-redundant genericism. - Removed now-unnecessary StringRing data structure and associated tests. Result: Faster performance in almost all cases.
- Loading branch information
Showing
15 changed files
with
341 additions
and
1,162 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.