Commit Graph

941 Commits

Author SHA1 Message Date
Craig Tiller a2d11d7bb4 Merge github.com:grpc/grpc into poll-wakeup 2017-03-10 14:14:57 -08:00
Noah Eisen 5dc79eb5aa Merge pull request #9963 from ncteisen/error-arena-optimization
Error arena optimization
2017-03-10 10:12:54 -08:00
Craig Tiller e7fe7f2b45 Merge pull request #10067 from ctiller/less_counters
Dont use memory counters unless counters mode is on
2017-03-10 09:49:31 -08:00
Craig Tiller 833adc2028 Merge pull request #10068 from ctiller/zalloc_bench
Track zalloc times in microbenchmark
2017-03-10 07:14:35 -08:00
Craig Tiller eb41e6438f Merge github.com:grpc/grpc into poll-wakeup 2017-03-09 21:57:42 -08:00
Craig Tiller e5dd4797b5 Merge pull request #9996 from ctiller/bm_channel
Add a test of creating a call on a lame channel in C++
2017-03-09 21:50:47 -08:00
ncteisen ceddd29391 Address github comments 2017-03-09 19:02:31 -08:00
Craig Tiller 2b182c2b4b Make ASAN happy 2017-03-09 16:19:58 -08:00
Craig Tiller af11581260 Merge github.com:grpc/grpc into cpp_bazelness 2017-03-09 15:09:34 -08:00
ncteisen b3eee5c8c7 Merge branch 'master' of https://github.com/grpc/grpc into to-grpc-err-is-human 2017-03-09 11:16:25 -08:00
Noah Eisen a3e5801e2e s/realloc/gpr_realloc to fix mem bug 2017-03-09 10:54:07 -08:00
Noah Eisen a885d00a38 Merge branch 'master' of https://github.com/grpc/grpc into error-arena-optimization 2017-03-09 10:13:34 -08:00
Craig Tiller 7710823850 Add speed of light measures 2017-03-09 10:04:50 -08:00
Craig Tiller e667aaf9f9 clang-format 2017-03-09 08:12:21 -08:00
Craig Tiller d720d5dd0a Track zalloc times in microbenchmark
This forms our speed of light for call creation: at some point call
creation is dominated by zeroing memory and all we can do is reduce the
size of the call... let's track where that point is.
2017-03-09 08:10:17 -08:00
Craig Tiller 71c286466a Dont use memory counters unless counters mode is on 2017-03-09 08:03:27 -08:00
ncteisen 55337bb317 Error arena optimization 2017-03-08 15:38:34 -08:00
Sree Kuchibhotla 89da88c7b4 Merge branch 'master' into cq_create_api_changes 2017-03-08 14:45:23 -08:00
Craig Tiller 3fd238a2c6 Merge github.com:grpc/grpc into poll-wakeup 2017-03-08 12:54:57 -08:00
Craig Tiller e83edbfc2f Merge github.com:grpc/grpc into bm_channel 2017-03-08 12:52:39 -08:00
Craig Tiller 808d19e834 Merge pull request #9977 from ctiller/fssplit
Split bm_fullstack into pieces, reuse infrastructure across other microbenchmarks
2017-03-08 12:52:02 -08:00
Yuxuan Li bdc76ab37b bug fix 2017-03-08 10:59:31 -08:00
Yuxuan Li 34894e4b1c Implemented stream coalescing design
(RFC:https://github.com/grpc/proposal/pull/3). Add necessary
microbenchmarks to show reduced writes/iter for short streams. Add
necessary end2end test to test out newly added apis. Filter those tests
using *WithCoalescingApi*.
2017-03-08 10:59:31 -08:00
Craig Tiller 1ffda9f292 Merge branch 'fssplit' into bm_channel 2017-03-06 14:37:51 -08:00
Craig Tiller 111db946b7 Add a test of creating a call on a lame channel in C++ 2017-03-06 14:36:17 -08:00
Craig Tiller 055abd65fb Fix linux 2017-03-03 17:20:36 -08:00
Craig Tiller ab314ee9a6 Add some pollset benchmarks 2017-03-03 17:18:20 -08:00
Craig Tiller 656a1ab01f Merge branch 'fssplit' into poll-wakeup 2017-03-03 16:53:07 -08:00
Craig Tiller f09ec59222 Fix mac build 2017-03-03 16:52:37 -08:00
Craig Tiller 1128d462c3 Pollset benchmark 2017-03-03 16:46:54 -08:00
Sree Kuchibhotla 189eb4adbe Merge branch 'master' into cq_create_api_changes 2017-03-03 15:47:53 -08:00
Craig Tiller 8c3eaf2f15 Merge pull request #9939 from ctiller/stream_owned_slice
Add a slice type that shares a refcount with a transport stream
2017-03-03 15:38:14 -08:00
Sree Kuchibhotla 1dbd981cf8 Prefix grpc_cq_polling_type enums with GRPC_CQ_ 2017-03-03 14:27:44 -08:00
Craig Tiller cc928d6b71 Cleanup 2017-03-03 11:06:40 -08:00
Sree Kuchibhotla 2c7ab675c3 Merge branch 'master' into cq_create_api_changes 2017-03-03 10:57:07 -08:00
Craig Tiller 52bd441b25 Get back trickle 2017-03-03 10:52:22 -08:00
Craig Tiller 12d22e472b Further splitting 2017-03-03 10:14:20 -08:00
Craig Tiller 62ac65b183 Split bm_fullstack unary ping pong out 2017-03-03 09:57:43 -08:00
Craig Tiller 627a59892a Prep for splitting bm_fullstack 2017-03-03 09:47:21 -08:00
Craig Tiller e4a2419597 Bugfixes 2017-03-03 08:53:52 -08:00
Craig Tiller 5e3215338f Move helpers to a common place, use them everywhere 2017-03-03 08:50:25 -08:00
Sree Kuchibhotla 982a6f2b1c C++ code changes in response to grpc_completion_queue_create() API change 2017-03-03 02:19:31 -08:00
ncteisen 2316b80875 Merge branch 'master' of https://github.com/grpc/grpc into to-grpc-err-is-human 2017-03-01 11:52:32 -08:00
Craig Tiller 295df6da9a Add a slice type that shares a refcount with a transport stream 2017-03-01 11:28:24 -08:00
Craig Tiller 2bfc3bcf8d Add fixtures for call creation benchmarks 2017-03-01 07:54:20 -08:00
Craig Tiller 6517333d17 Merge pull request #9881 from ctiller/spinlock
Add a spinlock type.
2017-02-28 12:57:01 -08:00
Craig Tiller 4d92a49fc0 Merge github.com:grpc/grpc into cpp_bazelness 2017-02-28 08:43:06 -08:00
Craig Tiller cd232f64c6 Merge pull request #9753 from ctiller/zalloc
Add zalloc, convert a bunch of files to use it
2017-02-27 15:58:23 -08:00
Craig Tiller a10f00c711 Merge github.com:grpc/grpc into spinlock 2017-02-27 15:56:16 -08:00
Craig Tiller b843ff2ce4 Add more cq benchmarks 2017-02-27 07:34:07 -08:00
Craig Tiller edbf2b9d13 Add a spinlock type.
Useful for situations where we need to repeatedly trylock, not useful
for cases where we need to lock (due to spinning).

Add a variant of sync_test to test it (with the same tests we run for
gpr_mu).

Add a benchmark to bm_closure to demonstrate single threaded performance.
2017-02-27 07:24:00 -08:00
Craig Tiller 510f38a711 Merge branch 'bm_chttp2' into bm_meta 2017-02-24 17:00:19 -08:00
Craig Tiller bf515b6f7f Merge github.com:grpc/grpc into cpp_bazelness 2017-02-24 16:23:50 -08:00
Craig Tiller 681507aa24 Fix memory leak 2017-02-23 13:17:29 -08:00
Craig Tiller b82b3d0e52 Fixes for zalloc 2017-02-23 12:50:05 -08:00
ncteisen b307fdeb6e Merge branch 'bm_error' of https://github.com/ctiller/grpc into to-grpc-err-is-human 2017-02-23 11:21:12 -08:00
Craig Tiller 523d54beeb Refine to just be a HPACK benchmark 2017-02-23 08:52:38 -08:00
Craig Tiller 0db30f3dd0 HPACK parsing benchmarks 2017-02-23 08:48:34 -08:00
Craig Tiller 5cd989e95a Basic parsing tests 2017-02-22 17:08:00 -08:00
Craig Tiller 29dd982487 ... 2017-02-22 16:49:47 -08:00
Craig Tiller 2f792d9d16 Initial http2 benchmarks 2017-02-22 16:26:33 -08:00
Craig Tiller 11468c0c2a Merge branch 'bm_call_create' into bm_error 2017-02-22 14:24:48 -08:00
Craig Tiller 385b00932c Cleanup 2017-02-22 13:45:01 -08:00
Craig Tiller 2ec37e1bdb Fix memory leak 2017-02-22 10:26:52 -08:00
Craig Tiller 1d77399656 Fix copyright 2017-02-21 16:36:51 -08:00
Craig Tiller 21dd43a1cd Merge github.com:grpc/grpc into bm_call_create 2017-02-21 16:06:13 -08:00
Craig Tiller 8b01e8f5e6 Merge pull request #9708 from ctiller/bm_cq
Add microbenchmark of single-threaded CQ operations
2017-02-21 16:05:50 -08:00
Craig Tiller 7f4d30a032 Separate CAS/ADD RMWs 2017-02-21 10:24:00 -08:00
Craig Tiller f3dec9c995 Add counters for rmw atomic operations to microbenchmarks 2017-02-21 10:02:31 -08:00
ncteisen 2f15e9b456 Add new bm_error test to exercise error_set_xxx 2017-02-17 16:29:22 -08:00
Craig Tiller f4ea01b71a Complete microbenchmarks 2017-02-17 15:21:11 -08:00
Craig Tiller 19f3ea2c20 Start bringing microbenchmarks to Bazel 2017-02-17 15:17:05 -08:00
Craig Tiller b8e2bca4eb Add a benchmark for metadata primitives 2017-02-16 16:26:51 -08:00
Craig Tiller 985736358c Merge github.com:grpc/grpc into bm_cq 2017-02-16 09:45:17 -08:00
Craig Tiller 2f201bd351 Merge branch 'bm_call_create' into bm_error 2017-02-16 09:25:29 -08:00
Craig Tiller be42e1cb6a Fix missing header 2017-02-16 09:25:23 -08:00
Craig Tiller 5663953cb4 Fix compilation on Linux 2017-02-16 09:10:22 -08:00
Craig Tiller 264307fa3d Add benchmarks for grpc_error 2017-02-16 09:07:45 -08:00
Craig Tiller d3b8cd6617 Merge github.com:grpc/grpc into bm_closure 2017-02-15 23:55:31 -08:00
Craig Tiller 03eec51790 Merge pull request #9697 from ctiller/bm_trickle
Add a test that measures flow control stalls in a deterministic way
2017-02-15 23:52:46 -08:00
Craig Tiller 4f60fbf104 Add initial metadata benchmarks 2017-02-15 23:50:36 -08:00
Craig Tiller 3a04debe74 Add load reporting 2017-02-15 23:01:47 -08:00
Craig Tiller c52ba3a03f Hoist constant setting out of loop - and shave some ns from call creation 2017-02-15 22:57:43 -08:00
Craig Tiller a25c9b4aa0 Call out no-filter case 2017-02-15 17:19:22 -08:00
Craig Tiller 4bba37c228 Add a no-filter stack for comparison 2017-02-15 17:16:44 -08:00
Craig Tiller 571b7fffb3 Add benchmarks for a good selection of filters 2017-02-15 17:10:53 -08:00
Craig Tiller fd044b8b22 Call creation benchmark 2017-02-15 16:15:48 -08:00
Craig Tiller 872e932b09 Merge github.com:grpc/grpc into bm_call_create 2017-02-15 13:08:43 -08:00
Craig Tiller 1f8c55835d Merge branch 'bm_closure' into bm_cq 2017-02-15 08:34:49 -08:00
Craig Tiller 2b085f9923 Merge branch 'bm_trickle' into bm_closure 2017-02-15 08:26:37 -08:00
Craig Tiller 22482a41b6 Merge branch 'bm_trickle' of github.com:ctiller/grpc into bm_trickle 2017-02-15 08:25:09 -08:00
Craig Tiller d9bc2107e5 Update microbenchmarking framework for new benchmark 2017-02-15 08:24:55 -08:00
Craig Tiller 7f9184f314 Review feedback 2017-02-14 22:39:47 -08:00
Craig Tiller 5752570b02 Fix memory leak 2017-02-14 21:58:46 -08:00
Craig Tiller 14ae5381af Add microbenchmark of single-threaded CQ operations 2017-02-14 12:43:50 -08:00
Craig Tiller ef6d744c23 Include faster networks 2017-02-13 19:23:09 -08:00
Craig Tiller 4cb0a7a5a1 Better test 2017-02-13 17:14:20 -08:00
Craig Tiller fe5f497f77 Add a test that measures flow control stalls in a deterministic way 2017-02-13 16:26:27 -08:00
Craig Tiller 4dde8b277d Fix stack corruption 2017-02-13 12:44:14 -08:00
Craig Tiller 96f8728b06 Add a comparison benchmark of acquiring a mutex 2017-02-13 12:39:12 -08:00
Craig Tiller b3f34b6c2b Add benchmarks of closures, combiners, exec_ctx primitives 2017-02-13 10:29:33 -08:00
Craig Tiller e7c60e6282 Make latency traces more useful 2017-02-13 08:56:36 -08:00
Craig Tiller 7dd42bf3d8 Merge pull request #9522 from ctiller/bm_perf
Update latency profiler to use (more appropriate) microbenchmarks
2017-02-08 13:57:09 -08:00
Craig Tiller ea2c59420c Merge pull request #9619 from ctiller/bm_counters
Add counters for important metrics to bm_fullstack
2017-02-07 15:16:40 -08:00
Craig Tiller d52b76de44 Merge github.com:grpc/grpc into bm_perf 2017-02-07 10:30:58 -08:00
Craig Tiller 01d7d9b2e5 Add allocations/iteration counters to bm_fullstack 2017-02-07 08:39:05 -08:00
Craig Tiller b038beb724 Add counters for mutex acquisitions, expose in bm_fullstack 2017-02-07 08:28:51 -08:00
Sree Kuchibhotla dfb82e076f Address code review comments 2017-02-03 21:05:01 -08:00
Sree Kuchibhotla 0b26e27056 cr comments 2017-02-03 20:41:00 -08:00
Sree Kuchibhotla afaa75196e Add comment 2017-02-03 19:43:47 -08:00
Sree Kuchibhotla e3ffd861c9 New microbenchmarks for Streaming Ping pong calls and messages 2017-02-03 19:39:31 -08:00
Craig Tiller f7af2a9a05 Update latency profiler to use (more appropriate) microbenchmarks 2017-01-31 15:08:31 -08:00
Craig Tiller cf14a1bd1e Add other fixtures to pump tests 2017-01-27 17:19:03 -08:00
Craig Tiller db13ac4084 Add server->client long-lived streaming 2017-01-27 17:11:38 -08:00
Craig Tiller e44d1a634a Add client->server long-lived streaming 2017-01-27 17:06:16 -08:00
Craig Tiller 9128716268 Track writes/RPC in microbenchmark 2017-01-26 14:44:25 -08:00
Craig Tiller f8ea95786f Merge branch 'maxmsgsz' into bm_msgsz 2017-01-20 15:58:57 -08:00
Craig Tiller 331f705886 clang-format 2017-01-19 11:52:20 -08:00
Craig Tiller a2f61e3d33 Add large message variants 2017-01-19 09:53:07 -08:00
Craig Tiller 62efabf638 Start benchmarking different sizes 2017-01-18 15:45:30 -08:00
Craig Tiller e7b74698f9 Merge branch 'slice_interning' into metadata_filter 2016-12-09 08:44:39 -08:00
David Garcia Quintas ff3112188b Renamed google_benchmark submodule to benchmark 2016-12-06 17:44:57 -08:00
Mark D. Roth d101e14211 Revert "Renamed google_benchmark submodule to benchmark" 2016-12-05 08:04:22 -08:00
Mark D. Roth 746578ac9c Merge pull request #8851 from dgquintas/rename_gbench
Renamed google_benchmark submodule to benchmark
2016-12-05 07:43:17 -08:00
Craig Tiller 36b3135929 Merge branch 'slice_interning' into metadata_filter 2016-11-30 13:41:53 -08:00
Craig Tiller 9178ba2924 Merge pull request #8867 from ctiller/fixit6
Reduce pre-generated key count
2016-11-29 10:47:46 -08:00
Craig Tiller d04c822b58 Unique-ify uds address between concurrent bm_fullstack runs 2016-11-29 08:54:36 -08:00
Craig Tiller e89e54f4b6 clang-format code 2016-11-29 08:20:05 -08:00
David Garcia Quintas d449003fe6 Shutdown grpc for fullstack benchmark 2016-11-28 16:10:57 -08:00
Craig Tiller 6d74225615 Reduce pre-generated key count
Doesn't affect benchmark accuracy, but makes startup time substantially
faster, and hopefully eliminates occurences like this:
https://grpc-testing.appspot.com/job/gRPC_master_linux/642/testReport/junit/(root)/c++_linux_dbg/bins_dbg_bm_fullstack_GRPC_POLL_STRATEGY_epoll/
2016-11-28 10:04:50 -08:00
David Garcia Quintas 7d03df3f44 Renamed google_benchmark submodule to benchmark 2016-11-23 19:47:04 -08:00
Craig Tiller 7ce0bcdf0f Add a test of sending MANY metadata elements 2016-11-23 09:51:53 -08:00
Craig Tiller 3b05e1da91 Move from cmp --> eq, and provide a good implementation for interning 2016-11-21 13:46:31 -08:00
Craig Tiller f69369741d Review feedback 2016-11-16 15:03:53 -08:00
Craig Tiller 206efc7866 Benchmarks for unary metadata 2016-11-07 12:55:40 -08:00
Craig Tiller ff8e43aa6c Fix memory corruption 2016-11-01 15:13:31 -07:00
Craig Tiller b4d883bfc2 Make ASAN pass 2016-11-01 15:10:22 -07:00
Craig Tiller 63ec293d73 Integrate resource quotas 2016-11-01 15:00:41 -07:00
Craig Tiller 1d0fce9d60 Add some endpoint pair tests 2016-10-26 08:26:22 -07:00
Craig Tiller 93d802b986 Add full stack microbenchmark 2016-10-25 21:05:49 -07:00
Craig Tiller d3cd017f5d Initial google_benchmark integration: source changes 2016-10-25 17:02:20 -07:00