{"action":"created","comment":{"url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/comments/107681590","pull_request_review_id":28658793,"id":107681590,"diff_hunk":"@@ -0,0 +1,35 @@\n+require \"nats/io/client\"\n+require \"thread\"\n+require \"benchmark/ips\"\n+require \"protobuf\"\n+require 'protobuf/message'\n+require 'protobuf/rpc/service'","path":"bench/real_client.rb","position":6,"original_position":6,"commit_id":"d279100a286993766ffbd578bb26cb5dac42d6e3","original_commit_id":"d279100a286993766ffbd578bb26cb5dac42d6e3","user":{"login":"mmmries","id":80008,"avatar_url":"https://avatars0.githubusercontent.com/u/80008?v=3","gravatar_id":"","url":"https://api.github.com/users/mmmries","html_url":"https://github.com/mmmries","followers_url":"https://api.github.com/users/mmmries/followers","following_url":"https://api.github.com/users/mmmries/following{/other_user}","gists_url":"https://api.github.com/users/mmmries/gists{/gist_id}","starred_url":"https://api.github.com/users/mmmries/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mmmries/subscriptions","organizations_url":"https://api.github.com/users/mmmries/orgs","repos_url":"https://api.github.com/users/mmmries/repos","events_url":"https://api.github.com/users/mmmries/events{/privacy}","received_events_url":"https://api.github.com/users/mmmries/received_events","type":"User","site_admin":false},"body":"in order to make this run locally did the following diff to this file\r\n\r\n```diff\r\n-\r\n-module Warehouse\r\n-  class Shipment < ::Protobuf::Message\r\n-    optional :string, :guid, 1\r\n-    optional :string, :address, 2\r\n-    optional :double, :price, 3\r\n-    optional :string, :package_guid, 4\r\n-  end\r\n-end\r\n+require \"./examples/warehouse/app\"\r\n```\r\n\r\nAnd I forgot to set the PB_CLIENT_TYPE and PB_SERVER_TYPE environment variables, so maybe we should set those at the top of this script just to make it easy for people to run the benchmark.\r\n\r\nLocally I got ~1k request/reply's per second. Is that similar to your results so far?","created_at":"2017-03-23T14:26:56Z","updated_at":"2017-03-23T14:28:02Z","html_url":"https://github.com/abrandoned/protobuf-nats/pull/1#discussion_r107681590","pull_request_url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/comments/107681590"},"html":{"href":"https://github.com/abrandoned/protobuf-nats/pull/1#discussion_r107681590"},"pull_request":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1","id":112126904,"html_url":"https://github.com/abrandoned/protobuf-nats/pull/1","diff_url":"https://github.com/abrandoned/protobuf-nats/pull/1.diff","patch_url":"https://github.com/abrandoned/protobuf-nats/pull/1.patch","issue_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/1","number":1,"state":"open","locked":false,"title":"PB NATS Client / Server","user":{"login":"film42","id":1043908,"avatar_url":"https://avatars1.githubusercontent.com/u/1043908?v=3","gravatar_id":"","url":"https://api.github.com/users/film42","html_url":"https://github.com/film42","followers_url":"https://api.github.com/users/film42/followers","following_url":"https://api.github.com/users/film42/following{/other_user}","gists_url":"https://api.github.com/users/film42/gists{/gist_id}","starred_url":"https://api.github.com/users/film42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/film42/subscriptions","organizations_url":"https://api.github.com/users/film42/orgs","repos_url":"https://api.github.com/users/film42/repos","events_url":"https://api.github.com/users/film42/events{/privacy}","received_events_url":"https://api.github.com/users/film42/received_events","type":"User","site_admin":false},"body":"This doesn't have any tests but I'm looking for eyes to make sure things are looking ok.\r\n\r\n1. This uses a custom request protocol where we expect two messages from the server. First we get an ACK message. We do this for two reasons: 1) as a fast way of letting the client know that a server picked up the request and a response will come within 60 seconds; and 2) it allows the server to drop messages when its thread pool is full. \r\n2. Client and server use the following sub keys by convention: `rpc.warehouse.shipment_service.created`. These are cached so computing them isn't a concern.\r\n3. I left the old FFI commits here because I thought they might be helpful as a reference in the future.\r\n4. Configs are lacking right now.\r\n\r\ncc @quixoten @abrandoned @mmmries @liveh2o @brianstien","created_at":"2017-03-22T22:41:07Z","updated_at":"2017-03-23T14:28:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8f65cba61d47fe068f1ae8ad35b5a6c5dc1d9ecf","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1/commits","review_comments_url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1/comments","review_comment_url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/comments{/number}","comments_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/1/comments","statuses_url":"https://api.github.com/repos/abrandoned/protobuf-nats/statuses/d279100a286993766ffbd578bb26cb5dac42d6e3","head":{"label":"abrandoned:gt/pure_client_server","ref":"gt/pure_client_server","sha":"d279100a286993766ffbd578bb26cb5dac42d6e3","user":{"login":"abrandoned","id":329800,"avatar_url":"https://avatars1.githubusercontent.com/u/329800?v=3","gravatar_id":"","url":"https://api.github.com/users/abrandoned","html_url":"https://github.com/abrandoned","followers_url":"https://api.github.com/users/abrandoned/followers","following_url":"https://api.github.com/users/abrandoned/following{/other_user}","gists_url":"https://api.github.com/users/abrandoned/gists{/gist_id}","starred_url":"https://api.github.com/users/abrandoned/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abrandoned/subscriptions","organizations_url":"https://api.github.com/users/abrandoned/orgs","repos_url":"https://api.github.com/users/abrandoned/repos","events_url":"https://api.github.com/users/abrandoned/events{/privacy}","received_events_url":"https://api.github.com/users/abrandoned/received_events","type":"User","site_admin":false},"repo":{"id":85212517,"name":"protobuf-nats","full_name":"abrandoned/protobuf-nats","owner":{"login":"abrandoned","id":329800,"avatar_url":"https://avatars1.githubusercontent.com/u/329800?v=3","gravatar_id":"","url":"https://api.github.com/users/abrandoned","html_url":"https://github.com/abrandoned","followers_url":"https://api.github.com/users/abrandoned/followers","following_url":"https://api.github.com/users/abrandoned/following{/other_user}","gists_url":"https://api.github.com/users/abrandoned/gists{/gist_id}","starred_url":"https://api.github.com/users/abrandoned/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abrandoned/subscriptions","organizations_url":"https://api.github.com/users/abrandoned/orgs","repos_url":"https://api.github.com/users/abrandoned/repos","events_url":"https://api.github.com/users/abrandoned/events{/privacy}","received_events_url":"https://api.github.com/users/abrandoned/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/abrandoned/protobuf-nats","description":null,"fork":false,"url":"https://api.github.com/repos/abrandoned/protobuf-nats","forks_url":"https://api.github.com/repos/abrandoned/protobuf-nats/forks","keys_url":"https://api.github.com/repos/abrandoned/protobuf-nats/keys{/key_id}","collaborators_url":"https://api.github.com/repos/abrandoned/protobuf-nats/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/abrandoned/protobuf-nats/teams","hooks_url":"https://api.github.com/repos/abrandoned/protobuf-nats/hooks","issue_events_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/events{/number}","events_url":"https://api.github.com/repos/abrandoned/protobuf-nats/events","assignees_url":"https://api.github.com/repos/abrandoned/protobuf-nats/assignees{/user}","branches_url":"https://api.github.com/repos/abrandoned/protobuf-nats/branches{/branch}","tags_url":"https://api.github.com/repos/abrandoned/protobuf-nats/tags","blobs_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/refs{/sha}","trees_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/trees{/sha}","statuses_url":"https://api.github.com/repos/abrandoned/protobuf-nats/statuses/{sha}","languages_url":"https://api.github.com/repos/abrandoned/protobuf-nats/languages","stargazers_url":"https://api.github.com/repos/abrandoned/protobuf-nats/stargazers","contributors_url":"https://api.github.com/repos/abrandoned/protobuf-nats/contributors","subscribers_url":"https://api.github.com/repos/abrandoned/protobuf-nats/subscribers","subscription_url":"https://api.github.com/repos/abrandoned/protobuf-nats/subscription","commits_url":"https://api.github.com/repos/abrandoned/protobuf-nats/commits{/sha}","git_commits_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/commits{/sha}","comments_url":"https://api.github.com/repos/abrandoned/protobuf-nats/comments{/number}","issue_comment_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/comments{/number}","contents_url":"https://api.github.com/repos/abrandoned/protobuf-nats/contents/{+path}","compare_url":"https://api.github.com/repos/abrandoned/protobuf-nats/compare/{base}...{head}","merges_url":"https://api.github.com/repos/abrandoned/protobuf-nats/merges","archive_url":"https://api.github.com/repos/abrandoned/protobuf-nats/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/abrandoned/protobuf-nats/downloads","issues_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues{/number}","pulls_url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls{/number}","milestones_url":"https://api.github.com/repos/abrandoned/protobuf-nats/milestones{/number}","notifications_url":"https://api.github.com/repos/abrandoned/protobuf-nats/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/abrandoned/protobuf-nats/labels{/name}","releases_url":"https://api.github.com/repos/abrandoned/protobuf-nats/releases{/id}","deployments_url":"https://api.github.com/repos/abrandoned/protobuf-nats/deployments","created_at":"2017-03-16T15:37:15Z","updated_at":"2017-03-16T15:37:52Z","pushed_at":"2017-03-22T22:41:08Z","git_url":"git://github.com/abrandoned/protobuf-nats.git","ssh_url":"git@github.com:abrandoned/protobuf-nats.git","clone_url":"https://github.com/abrandoned/protobuf-nats.git","svn_url":"https://github.com/abrandoned/protobuf-nats","homepage":null,"size":31,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"abrandoned:master","ref":"master","sha":"3c06f426279cbdadcc2f471ed692bf91cf8d3665","user":{"login":"abrandoned","id":329800,"avatar_url":"https://avatars1.githubusercontent.com/u/329800?v=3","gravatar_id":"","url":"https://api.github.com/users/abrandoned","html_url":"https://github.com/abrandoned","followers_url":"https://api.github.com/users/abrandoned/followers","following_url":"https://api.github.com/users/abrandoned/following{/other_user}","gists_url":"https://api.github.com/users/abrandoned/gists{/gist_id}","starred_url":"https://api.github.com/users/abrandoned/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abrandoned/subscriptions","organizations_url":"https://api.github.com/users/abrandoned/orgs","repos_url":"https://api.github.com/users/abrandoned/repos","events_url":"https://api.github.com/users/abrandoned/events{/privacy}","received_events_url":"https://api.github.com/users/abrandoned/received_events","type":"User","site_admin":false},"repo":{"id":85212517,"name":"protobuf-nats","full_name":"abrandoned/protobuf-nats","owner":{"login":"abrandoned","id":329800,"avatar_url":"https://avatars1.githubusercontent.com/u/329800?v=3","gravatar_id":"","url":"https://api.github.com/users/abrandoned","html_url":"https://github.com/abrandoned","followers_url":"https://api.github.com/users/abrandoned/followers","following_url":"https://api.github.com/users/abrandoned/following{/other_user}","gists_url":"https://api.github.com/users/abrandoned/gists{/gist_id}","starred_url":"https://api.github.com/users/abrandoned/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abrandoned/subscriptions","organizations_url":"https://api.github.com/users/abrandoned/orgs","repos_url":"https://api.github.com/users/abrandoned/repos","events_url":"https://api.github.com/users/abrandoned/events{/privacy}","received_events_url":"https://api.github.com/users/abrandoned/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/abrandoned/protobuf-nats","description":null,"fork":false,"url":"https://api.github.com/repos/abrandoned/protobuf-nats","forks_url":"https://api.github.com/repos/abrandoned/protobuf-nats/forks","keys_url":"https://api.github.com/repos/abrandoned/protobuf-nats/keys{/key_id}","collaborators_url":"https://api.github.com/repos/abrandoned/protobuf-nats/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/abrandoned/protobuf-nats/teams","hooks_url":"https://api.github.com/repos/abrandoned/protobuf-nats/hooks","issue_events_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/events{/number}","events_url":"https://api.github.com/repos/abrandoned/protobuf-nats/events","assignees_url":"https://api.github.com/repos/abrandoned/protobuf-nats/assignees{/user}","branches_url":"https://api.github.com/repos/abrandoned/protobuf-nats/branches{/branch}","tags_url":"https://api.github.com/repos/abrandoned/protobuf-nats/tags","blobs_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/refs{/sha}","trees_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/trees{/sha}","statuses_url":"https://api.github.com/repos/abrandoned/protobuf-nats/statuses/{sha}","languages_url":"https://api.github.com/repos/abrandoned/protobuf-nats/languages","stargazers_url":"https://api.github.com/repos/abrandoned/protobuf-nats/stargazers","contributors_url":"https://api.github.com/repos/abrandoned/protobuf-nats/contributors","subscribers_url":"https://api.github.com/repos/abrandoned/protobuf-nats/subscribers","subscription_url":"https://api.github.com/repos/abrandoned/protobuf-nats/subscription","commits_url":"https://api.github.com/repos/abrandoned/protobuf-nats/commits{/sha}","git_commits_url":"https://api.github.com/repos/abrandoned/protobuf-nats/git/commits{/sha}","comments_url":"https://api.github.com/repos/abrandoned/protobuf-nats/comments{/number}","issue_comment_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/comments{/number}","contents_url":"https://api.github.com/repos/abrandoned/protobuf-nats/contents/{+path}","compare_url":"https://api.github.com/repos/abrandoned/protobuf-nats/compare/{base}...{head}","merges_url":"https://api.github.com/repos/abrandoned/protobuf-nats/merges","archive_url":"https://api.github.com/repos/abrandoned/protobuf-nats/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/abrandoned/protobuf-nats/downloads","issues_url":"https://api.github.com/repos/abrandoned/protobuf-nats/issues{/number}","pulls_url":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls{/number}","milestones_url":"https://api.github.com/repos/abrandoned/protobuf-nats/milestones{/number}","notifications_url":"https://api.github.com/repos/abrandoned/protobuf-nats/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/abrandoned/protobuf-nats/labels{/name}","releases_url":"https://api.github.com/repos/abrandoned/protobuf-nats/releases{/id}","deployments_url":"https://api.github.com/repos/abrandoned/protobuf-nats/deployments","created_at":"2017-03-16T15:37:15Z","updated_at":"2017-03-16T15:37:52Z","pushed_at":"2017-03-22T22:41:08Z","git_url":"git://github.com/abrandoned/protobuf-nats.git","ssh_url":"git@github.com:abrandoned/protobuf-nats.git","clone_url":"https://github.com/abrandoned/protobuf-nats.git","svn_url":"https://github.com/abrandoned/protobuf-nats","homepage":null,"size":31,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1"},"html":{"href":"https://github.com/abrandoned/protobuf-nats/pull/1"},"issue":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/1"},"comments":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/abrandoned/protobuf-nats/statuses/d279100a286993766ffbd578bb26cb5dac42d6e3"}}}}
{"actor":{"display_login":"mmmries"}}