grpc/test/cpp/microbenchmarks
Craig Tiller 4ce51fe45d
[hpack] Huffman read optimization (#33269)
In real services most of our time ends up in the `Read1()` function,
which populates one byte into the bit buffer.
Change this to read in as many as possible bytes at a time into that
buffer.

Additionally, generate all possible (to some depth) parser geometries,
and add a benchmark for them. Run that benchmark and select the best
geometry for decoding base64 strings (since this is the main use-case).

(gives about a 30% speed boost parsing base64 then huffman encoded
random binary strings)

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-07-11 08:41:15 -07:00
..
huffman_geometries [hpack] Huffman read optimization (#33269) 2023-07-11 08:41:15 -07:00
BUILD [hpack] Huffman read optimization (#33269) 2023-07-11 08:41:15 -07:00
bm_alarm.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_arena.cc [arena] Fix ABA problem in pooled allocation (#32336) 2023-02-09 18:06:19 -08:00
bm_basic_work_queue.cc [EventEngine] Implement work-stealing in the EventEngine ThreadPool (#32869) 2023-05-08 13:38:23 -07:00
bm_byte_buffer.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_call_create.cc Reland "[promises] Convert call to a party" (#32651)" (#32653) 2023-03-27 14:02:36 -07:00
bm_callback_streaming_ping_pong.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_callback_unary_ping_pong.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_channel.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_channel_args.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_chttp2_hpack.cc Add random early rejection for metadata (#32600) 2023-03-27 14:13:20 -07:00
bm_chttp2_transport.cc [cleanup] Eliminate usage of GRPC_ASSERT(false...); (#31757) 2023-01-11 08:50:32 -08:00
bm_closure.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_cq.cc [cleanup] Eliminate usage of GRPC_ASSERT(false...); (#31757) 2023-01-11 08:50:32 -08:00
bm_cq_multiple_threads.cc [cleanup] Eliminate usage of GRPC_ASSERT(false...); (#31757) 2023-01-11 08:50:32 -08:00
bm_event_engine_run.cc [fixup] EventEngine Nomenclature (#32195) 2023-01-25 09:31:46 -08:00
bm_exec_ctx.cc More changes (#31194) 2022-09-30 17:10:01 -07:00
bm_fullstack_streaming_ping_pong.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_fullstack_streaming_pump.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_fullstack_unary_ping_pong.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_huffman_decode.cc [hpack] Huffman read optimization (#33269) 2023-07-11 08:41:15 -07:00
bm_opencensus_plugin.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
bm_pollset.cc [cleanup] Eliminate usage of GRPC_ASSERT(false...); (#31757) 2023-01-11 08:50:32 -08:00
bm_thread_pool.cc [EventEngine] Implement work-stealing in the EventEngine ThreadPool (#32869) 2023-05-08 13:38:23 -07:00
callback_streaming_ping_pong.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
callback_test_service.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
callback_test_service.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
callback_unary_ping_pong.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
fullstack_context_mutators.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
fullstack_fixtures.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
fullstack_streaming_ping_pong.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
fullstack_streaming_pump.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
fullstack_unary_ping_pong.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
grpc_benchmark_config.bzl Speed up microbenchmark tests (#27584) 2021-10-05 07:09:02 -07:00
helpers.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00
helpers.h Fix include guards for src/ and test/ directories (#32167) 2023-01-20 16:27:27 -08:00
noop-benchmark.cc Convert c-style comments to C++-style comments (#31923) 2022-12-22 23:01:53 -08:00