{"action":"created","issue":{"url":"https://api.github.com/repos/rack-app/rack-app/issues/4","repository_url":"https://api.github.com/repos/rack-app/rack-app","labels_url":"https://api.github.com/repos/rack-app/rack-app/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/rack-app/rack-app/issues/4/comments","events_url":"https://api.github.com/repos/rack-app/rack-app/issues/4/events","html_url":"https://github.com/rack-app/rack-app/issues/4","id":174295240,"number":4,"title":"Benchmarks update suggestions","user":{"login":"boazsegev","id":870622,"avatar_url":"https://avatars.githubusercontent.com/u/870622?v=3","gravatar_id":"","url":"https://api.github.com/users/boazsegev","html_url":"https://github.com/boazsegev","followers_url":"https://api.github.com/users/boazsegev/followers","following_url":"https://api.github.com/users/boazsegev/following{/other_user}","gists_url":"https://api.github.com/users/boazsegev/gists{/gist_id}","starred_url":"https://api.github.com/users/boazsegev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boazsegev/subscriptions","organizations_url":"https://api.github.com/users/boazsegev/orgs","repos_url":"https://api.github.com/users/boazsegev/repos","events_url":"https://api.github.com/users/boazsegev/events{/privacy}","received_events_url":"https://api.github.com/users/boazsegev/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-08-31T14:54:47Z","updated_at":"2016-09-01T02:38:46Z","closed_at":null,"body":"A triplet of thoughts:\r\n\r\n1. Since Rack 2.0 requires Ruby 2.2, it would be interesting to see the benchmarks for the updated version.\r\n\r\n3. (Disclamer: I'm Plezi's author) I'm wondering how the framework would bench in comparison to [plezi.io](http://www.plezi.io).\r\n\r\n3. It would be great to have the benchmark code available to run as a script (allowing each person to test variations on features)."},"comment":{"url":"https://api.github.com/repos/rack-app/rack-app/issues/comments/243960087","html_url":"https://github.com/rack-app/rack-app/issues/4#issuecomment-243960087","issue_url":"https://api.github.com/repos/rack-app/rack-app/issues/4","id":243960087,"user":{"login":"boazsegev","id":870622,"avatar_url":"https://avatars.githubusercontent.com/u/870622?v=3","gravatar_id":"","url":"https://api.github.com/users/boazsegev","html_url":"https://github.com/boazsegev","followers_url":"https://api.github.com/users/boazsegev/followers","following_url":"https://api.github.com/users/boazsegev/following{/other_user}","gists_url":"https://api.github.com/users/boazsegev/gists{/gist_id}","starred_url":"https://api.github.com/users/boazsegev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boazsegev/subscriptions","organizations_url":"https://api.github.com/users/boazsegev/orgs","repos_url":"https://api.github.com/users/boazsegev/repos","events_url":"https://api.github.com/users/boazsegev/events{/privacy}","received_events_url":"https://api.github.com/users/boazsegev/received_events","type":"User","site_admin":false},"created_at":"2016-09-01T02:38:46Z","updated_at":"2016-09-01T02:38:46Z","body":"Regarding Websockets:\r\n\r\nActually, this is an interesting issue.\r\n\r\nAt the moment, the map is left for client side implementation, probably using an Array thats updated 's the `on_open` and `on_close` callbacks.\r\n\r\nAn Array will behave differently if you have to duplicate if between iterations. On the other hand, concurrency means the array might change at any given moment, so grabbing elements should probably be protected with a Mutex.\r\n\r\nThere's [some discussion about this](https://github.com/boazsegev/iodine/issues/6) when we were arguing whether the server should implement an `each`-`defer` system or leave that part to the client (maybe you can still voice concerns [on the Rack draft thread](https://github.com/rack/rack/pull/1107)).\r\n\r\nI think there are interesting solutions, but performance might be an issue at some point as you scale up.\r\n\r\nThis is where most applications start to scale horizontally, using pub/sub services such as a Redis server to help synchronize the messages across different application instances and servers (Plezi attempts to automate the Redis pub/sub layer).\r\n\r\nI'm sorry if my answers are a bit unclear, it's quite late here and I'm about to go to bed. If there's any more information you need, please feel free to ask I'll answer as soon as I can (I have a flight to catch tomorrow, so it might take me a bit).\r\n\r\nP.S.\r\n\r\nThanks for your kind words regarding my work on Plezi. Since these are both Rack applications, I'm sure they can play well together (plezi can also be used as middleware)."}}
{"actor":{"display_login":"boazsegev"}}