{"action":"closed","number":1326,"pull_request":{"url":"https://api.github.com/repos/grpc/grpc-go/pulls/1326","id":126590151,"html_url":"https://github.com/grpc/grpc-go/pull/1326","diff_url":"https://github.com/grpc/grpc-go/pull/1326.diff","patch_url":"https://github.com/grpc/grpc-go/pull/1326.patch","issue_url":"https://api.github.com/repos/grpc/grpc-go/issues/1326","number":1326,"state":"closed","locked":false,"title":"benchmark: add a file to compare the results betweem 2 benchmarks","user":{"login":"ZhouyihaiDing","id":28968539,"avatar_url":"https://avatars0.githubusercontent.com/u/28968539?v=3","gravatar_id":"","url":"https://api.github.com/users/ZhouyihaiDing","html_url":"https://github.com/ZhouyihaiDing","followers_url":"https://api.github.com/users/ZhouyihaiDing/followers","following_url":"https://api.github.com/users/ZhouyihaiDing/following{/other_user}","gists_url":"https://api.github.com/users/ZhouyihaiDing/gists{/gist_id}","starred_url":"https://api.github.com/users/ZhouyihaiDing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZhouyihaiDing/subscriptions","organizations_url":"https://api.github.com/users/ZhouyihaiDing/orgs","repos_url":"https://api.github.com/users/ZhouyihaiDing/repos","events_url":"https://api.github.com/users/ZhouyihaiDing/events{/privacy}","received_events_url":"https://api.github.com/users/ZhouyihaiDing/received_events","type":"User","site_admin":false},"body":"1. Compare the current benchmark result to the latest benchmark result (if exists).\r\n\r\nFor example, save the result of 2 benchmarks as r1 and r2, \r\n`go test benchmark/benchmark17_test.go benchmark/benchmark.go -benchmem -bench=BenchmarkClient/Unary-Tracing-maxConcurrentCalls_8 | tee r1`\r\nand\r\n`go test benchmark/benchmark17_test.go benchmark/benchmark.go -benchmem -bench=BenchmarkClient/Unary-Tracing-maxConcurrentCalls_8-reqSize_1024B | tee r2`\r\nhave 2 same sub-testcases.\r\n\r\nThen, run `go run benchmark/compare/main.go r1 r2`. it will print the result:\r\n\r\n```\r\nBenchmarkClient/Unary-Tracing-maxConcurrentCalls_8-reqSize_1024B-respSize_1B-12, \r\noperations |    30000 ->    30000 =>          \r\n     ns/op |    41600 ->    45933 =>  10.42%  \r\n      B/op |    14738 ->    14732 =>  -0.04%  \r\n allocs/op |      134 ->      134 =>   0.00%  \r\n       50% |    297µs ->    330µs =>  11.11%  \r\n       90% |    494µs ->    536µs =>   8.50%  \r\n       99% |    854µs ->    927µs =>   8.55%  \r\n      100% |   1820µs ->   2564µs =>  40.88%  \r\n   Average | 332.18µs -> 366.93µs =>  10.46%  \r\n\r\nBenchmarkClient/Unary-Tracing-maxConcurrentCalls_8-reqSize_1024B-respSize_1024B-12, \r\noperations |    30000 ->    30000 =>          \r\n     ns/op |    44341 ->    44720 =>   0.85%  \r\n      B/op |    23019 ->    23017 =>  -0.01%  \r\n allocs/op |      134 ->      134 =>   0.00%  \r\n       50% |    305µs ->    308µs =>   0.98%  \r\n       90% |    593µs ->    597µs =>   0.67%  \r\n       99% |    874µs ->    881µs =>   0.80%  \r\n      100% |   2585µs ->   1177µs => -54.47%  \r\n   Average | 354.16µs -> 357.21µs =>   0.86%\r\n```\r\n\r\n2 .Printing histogram is closed by default. Each benchmark will have the result formatted like\r\n```\r\nBenchmarkClient/Unary-Tracing-maxConcurrentCalls_8-reqSize_1024B-respSize_1024B-12   \r\n   30000\t     44797 ns/op\t   23024 B/op\t     134 allocs/op\r\nLatency - unit: µs \r\n\t  --------------------\r\n\t|    50%   |     306 µs |\r\n\t|    90%   |     603 µs |\r\n\t|    99%   |     899 µs |\r\n\t|   100%   |    3240 µs |\r\n\t| Average  |  357.86 µs |\r\n\t  --------------------\r\n```","created_at":"2017-06-20T17:39:52Z","updated_at":"2017-06-20T22:56:49Z","closed_at":"2017-06-20T22:56:49Z","merged_at":null,"merge_commit_sha":"9706069d99f12add6fb80c792114d0be885c03c6","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/grpc/grpc-go/pulls/1326/commits","review_comments_url":"https://api.github.com/repos/grpc/grpc-go/pulls/1326/comments","review_comment_url":"https://api.github.com/repos/grpc/grpc-go/pulls/comments{/number}","comments_url":"https://api.github.com/repos/grpc/grpc-go/issues/1326/comments","statuses_url":"https://api.github.com/repos/grpc/grpc-go/statuses/a04fc119851d57cef2e2dd80692740bcb91f402e","head":{"label":"ZhouyihaiDing:file","ref":"file","sha":"a04fc119851d57cef2e2dd80692740bcb91f402e","user":{"login":"ZhouyihaiDing","id":28968539,"avatar_url":"https://avatars0.githubusercontent.com/u/28968539?v=3","gravatar_id":"","url":"https://api.github.com/users/ZhouyihaiDing","html_url":"https://github.com/ZhouyihaiDing","followers_url":"https://api.github.com/users/ZhouyihaiDing/followers","following_url":"https://api.github.com/users/ZhouyihaiDing/following{/other_user}","gists_url":"https://api.github.com/users/ZhouyihaiDing/gists{/gist_id}","starred_url":"https://api.github.com/users/ZhouyihaiDing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZhouyihaiDing/subscriptions","organizations_url":"https://api.github.com/users/ZhouyihaiDing/orgs","repos_url":"https://api.github.com/users/ZhouyihaiDing/repos","events_url":"https://api.github.com/users/ZhouyihaiDing/events{/privacy}","received_events_url":"https://api.github.com/users/ZhouyihaiDing/received_events","type":"User","site_admin":false},"repo":{"id":94152755,"name":"grpc-go","full_name":"ZhouyihaiDing/grpc-go","owner":{"login":"ZhouyihaiDing","id":28968539,"avatar_url":"https://avatars0.githubusercontent.com/u/28968539?v=3","gravatar_id":"","url":"https://api.github.com/users/ZhouyihaiDing","html_url":"https://github.com/ZhouyihaiDing","followers_url":"https://api.github.com/users/ZhouyihaiDing/followers","following_url":"https://api.github.com/users/ZhouyihaiDing/following{/other_user}","gists_url":"https://api.github.com/users/ZhouyihaiDing/gists{/gist_id}","starred_url":"https://api.github.com/users/ZhouyihaiDing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZhouyihaiDing/subscriptions","organizations_url":"https://api.github.com/users/ZhouyihaiDing/orgs","repos_url":"https://api.github.com/users/ZhouyihaiDing/repos","events_url":"https://api.github.com/users/ZhouyihaiDing/events{/privacy}","received_events_url":"https://api.github.com/users/ZhouyihaiDing/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ZhouyihaiDing/grpc-go","description":"The Go language implementation of gRPC. HTTP/2 based RPC","fork":true,"url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go","forks_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/forks","keys_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/teams","hooks_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/hooks","issue_events_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/issues/events{/number}","events_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/events","assignees_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/assignees{/user}","branches_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/branches{/branch}","tags_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/tags","blobs_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/git/refs{/sha}","trees_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/statuses/{sha}","languages_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/languages","stargazers_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/stargazers","contributors_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/contributors","subscribers_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/subscribers","subscription_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/subscription","commits_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/commits{/sha}","git_commits_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/git/commits{/sha}","comments_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/comments{/number}","issue_comment_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/issues/comments{/number}","contents_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/contents/{+path}","compare_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/merges","archive_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/downloads","issues_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/issues{/number}","pulls_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/pulls{/number}","milestones_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/milestones{/number}","notifications_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/labels{/name}","releases_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/releases{/id}","deployments_url":"https://api.github.com/repos/ZhouyihaiDing/grpc-go/deployments","created_at":"2017-06-13T00:34:16Z","updated_at":"2017-06-13T00:34:18Z","pushed_at":"2017-06-20T22:51:54Z","git_url":"git://github.com/ZhouyihaiDing/grpc-go.git","ssh_url":"git@github.com:ZhouyihaiDing/grpc-go.git","clone_url":"https://github.com/ZhouyihaiDing/grpc-go.git","svn_url":"https://github.com/ZhouyihaiDing/grpc-go","homepage":"","size":3737,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":4,"forks":1,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"grpc:master","ref":"master","sha":"40e7a759a035a36611d6c9a3c2acb11ce1497727","user":{"login":"grpc","id":7802525,"avatar_url":"https://avatars2.githubusercontent.com/u/7802525?v=3","gravatar_id":"","url":"https://api.github.com/users/grpc","html_url":"https://github.com/grpc","followers_url":"https://api.github.com/users/grpc/followers","following_url":"https://api.github.com/users/grpc/following{/other_user}","gists_url":"https://api.github.com/users/grpc/gists{/gist_id}","starred_url":"https://api.github.com/users/grpc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grpc/subscriptions","organizations_url":"https://api.github.com/users/grpc/orgs","repos_url":"https://api.github.com/users/grpc/repos","events_url":"https://api.github.com/users/grpc/events{/privacy}","received_events_url":"https://api.github.com/users/grpc/received_events","type":"Organization","site_admin":false},"repo":{"id":27729907,"name":"grpc-go","full_name":"grpc/grpc-go","owner":{"login":"grpc","id":7802525,"avatar_url":"https://avatars2.githubusercontent.com/u/7802525?v=3","gravatar_id":"","url":"https://api.github.com/users/grpc","html_url":"https://github.com/grpc","followers_url":"https://api.github.com/users/grpc/followers","following_url":"https://api.github.com/users/grpc/following{/other_user}","gists_url":"https://api.github.com/users/grpc/gists{/gist_id}","starred_url":"https://api.github.com/users/grpc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grpc/subscriptions","organizations_url":"https://api.github.com/users/grpc/orgs","repos_url":"https://api.github.com/users/grpc/repos","events_url":"https://api.github.com/users/grpc/events{/privacy}","received_events_url":"https://api.github.com/users/grpc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/grpc/grpc-go","description":"The Go language implementation of gRPC. HTTP/2 based RPC","fork":false,"url":"https://api.github.com/repos/grpc/grpc-go","forks_url":"https://api.github.com/repos/grpc/grpc-go/forks","keys_url":"https://api.github.com/repos/grpc/grpc-go/keys{/key_id}","collaborators_url":"https://api.github.com/repos/grpc/grpc-go/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/grpc/grpc-go/teams","hooks_url":"https://api.github.com/repos/grpc/grpc-go/hooks","issue_events_url":"https://api.github.com/repos/grpc/grpc-go/issues/events{/number}","events_url":"https://api.github.com/repos/grpc/grpc-go/events","assignees_url":"https://api.github.com/repos/grpc/grpc-go/assignees{/user}","branches_url":"https://api.github.com/repos/grpc/grpc-go/branches{/branch}","tags_url":"https://api.github.com/repos/grpc/grpc-go/tags","blobs_url":"https://api.github.com/repos/grpc/grpc-go/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/grpc/grpc-go/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/grpc/grpc-go/git/refs{/sha}","trees_url":"https://api.github.com/repos/grpc/grpc-go/git/trees{/sha}","statuses_url":"https://api.github.com/repos/grpc/grpc-go/statuses/{sha}","languages_url":"https://api.github.com/repos/grpc/grpc-go/languages","stargazers_url":"https://api.github.com/repos/grpc/grpc-go/stargazers","contributors_url":"https://api.github.com/repos/grpc/grpc-go/contributors","subscribers_url":"https://api.github.com/repos/grpc/grpc-go/subscribers","subscription_url":"https://api.github.com/repos/grpc/grpc-go/subscription","commits_url":"https://api.github.com/repos/grpc/grpc-go/commits{/sha}","git_commits_url":"https://api.github.com/repos/grpc/grpc-go/git/commits{/sha}","comments_url":"https://api.github.com/repos/grpc/grpc-go/comments{/number}","issue_comment_url":"https://api.github.com/repos/grpc/grpc-go/issues/comments{/number}","contents_url":"https://api.github.com/repos/grpc/grpc-go/contents/{+path}","compare_url":"https://api.github.com/repos/grpc/grpc-go/compare/{base}...{head}","merges_url":"https://api.github.com/repos/grpc/grpc-go/merges","archive_url":"https://api.github.com/repos/grpc/grpc-go/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/grpc/grpc-go/downloads","issues_url":"https://api.github.com/repos/grpc/grpc-go/issues{/number}","pulls_url":"https://api.github.com/repos/grpc/grpc-go/pulls{/number}","milestones_url":"https://api.github.com/repos/grpc/grpc-go/milestones{/number}","notifications_url":"https://api.github.com/repos/grpc/grpc-go/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/grpc/grpc-go/labels{/name}","releases_url":"https://api.github.com/repos/grpc/grpc-go/releases{/id}","deployments_url":"https://api.github.com/repos/grpc/grpc-go/deployments","created_at":"2014-12-08T18:59:34Z","updated_at":"2017-06-20T19:51:52Z","pushed_at":"2017-06-20T20:17:19Z","git_url":"git://github.com/grpc/grpc-go.git","ssh_url":"git@github.com:grpc/grpc-go.git","clone_url":"https://github.com/grpc/grpc-go.git","svn_url":"https://github.com/grpc/grpc-go","homepage":"","size":3793,"stargazers_count":3457,"watchers_count":3457,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":618,"mirror_url":null,"open_issues_count":107,"forks":618,"open_issues":107,"watchers":3457,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/1326"},"html":{"href":"https://github.com/grpc/grpc-go/pull/1326"},"issue":{"href":"https://api.github.com/repos/grpc/grpc-go/issues/1326"},"comments":{"href":"https://api.github.com/repos/grpc/grpc-go/issues/1326/comments"},"review_comments":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/1326/comments"},"review_comment":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/1326/commits"},"statuses":{"href":"https://api.github.com/repos/grpc/grpc-go/statuses/a04fc119851d57cef2e2dd80692740bcb91f402e"}},"merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"unstable","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":10,"additions":145,"deletions":6,"changed_files":3}}
{"actor":{"display_login":"ZhouyihaiDing"}}