Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Issue 1568423002: Implement better HPACK Huffman code decoder. (Closed)

Created:
4 years, 11 months ago by Bence
Modified:
4 years, 11 months ago
Reviewers:
Ryan Hamilton
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement better HPACK Huffman code decoder. HpackHuffmanDecoder uses less memory and decodes faster (around 30% CPU reduction in micro benchmark) than previous HpackHuffmanTable decoder. It is hard coded; i.e., it cannot decode arbitrary codes, but since the standardization process is complete, that does not seem necessary. This CL lands server changes 103090098 and 109220294 by jamessynge and 111872403 by bnc. BUG=488484 Committed: https://crrev.com/98ef92cdda8b484de73f1509f577dce35f878481 Cr-Commit-Position: refs/heads/master@{#368954}

Patch Set 1 #

Patch Set 2 : Rebase. #

Patch Set 3 : Fix unused IoEOSPrefix() issue. #

Patch Set 4 : Remove banned constexpr. #

Patch Set 5 : Sort net.gypi entries. #

Patch Set 6 : Add NET_EXPORT_PRIVATE macro. #

Patch Set 7 : Fix conditional definition of IsEOSPrefix(). #

Patch Set 8 : Introduce HpackHuffmanDecoderPeer. #

Patch Set 9 : Fix some typos. #

Patch Set 10 : Do not use binary literals. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1039 lines, -125 lines) Patch
M net/net.gypi View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M net/spdy/fuzzing/hpack_fuzz_util.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M net/spdy/hpack/hpack_decoder.h View 3 chunks +2 lines, -8 lines 0 comments Download
M net/spdy/hpack/hpack_decoder.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M net/spdy/hpack/hpack_decoder_test.cc View 1 chunk +1 line, -2 lines 0 comments Download
A net/spdy/hpack/hpack_huffman_decoder.h View 1 2 3 4 5 6 7 1 chunk +70 lines, -0 lines 0 comments Download
A net/spdy/hpack/hpack_huffman_decoder.cc View 1 2 3 4 5 6 7 8 9 1 chunk +410 lines, -0 lines 0 comments Download
A net/spdy/hpack/hpack_huffman_decoder_test.cc View 1 2 3 4 5 6 7 1 chunk +292 lines, -0 lines 0 comments Download
M net/spdy/hpack/hpack_huffman_table.h View 1 2 3 4 5 6 7 8 1 chunk +12 lines, -8 lines 0 comments Download
M net/spdy/hpack/hpack_huffman_table.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M net/spdy/hpack/hpack_huffman_table_test.cc View 1 2 3 4 5 6 7 8 14 chunks +58 lines, -52 lines 0 comments Download
M net/spdy/hpack/hpack_input_stream.h View 3 chunks +16 lines, -3 lines 0 comments Download
M net/spdy/hpack/hpack_input_stream.cc View 8 chunks +49 lines, -4 lines 0 comments Download
M net/spdy/hpack/hpack_input_stream_test.cc View 21 chunks +116 lines, -36 lines 0 comments Download
M net/spdy/hpack/hpack_round_trip_test.cc View 1 chunk +1 line, -3 lines 0 comments Download
M net/spdy/spdy_framer.cc View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 13 (8 generated)
Bence
Ryan: PTAL. Thanks.
4 years, 11 months ago (2016-01-12 14:23:21 UTC) #6
Ryan Hamilton
lgtm
4 years, 11 months ago (2016-01-12 17:47:24 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1568423002/230001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1568423002/230001
4 years, 11 months ago (2016-01-12 19:39:49 UTC) #9
commit-bot: I haz the power
Committed patchset #10 (id:230001)
4 years, 11 months ago (2016-01-12 19:46:16 UTC) #11
commit-bot: I haz the power
4 years, 11 months ago (2016-01-12 19:47:18 UTC) #13
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/98ef92cdda8b484de73f1509f577dce35f878481
Cr-Commit-Position: refs/heads/master@{#368954}

Powered by Google App Engine
This is Rietveld 408576698