{"action":"created","issue":{"url":"https://api.github.com/repos/rubygems/rubygems/issues/649","repository_url":"https://api.github.com/repos/rubygems/rubygems","labels_url":"https://api.github.com/repos/rubygems/rubygems/issues/649/labels{/name}","comments_url":"https://api.github.com/repos/rubygems/rubygems/issues/649/comments","events_url":"https://api.github.com/repos/rubygems/rubygems/issues/649/events","html_url":"https://github.com/rubygems/rubygems/pull/649","id":19555808,"number":649,"title":"Download gems with threads","user":{"login":"charliesome","id":179065,"avatar_url":"https://avatars.githubusercontent.com/u/179065?v=3","gravatar_id":"","url":"https://api.github.com/users/charliesome","html_url":"https://github.com/charliesome","followers_url":"https://api.github.com/users/charliesome/followers","following_url":"https://api.github.com/users/charliesome/following{/other_user}","gists_url":"https://api.github.com/users/charliesome/gists{/gist_id}","starred_url":"https://api.github.com/users/charliesome/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/charliesome/subscriptions","organizations_url":"https://api.github.com/users/charliesome/orgs","repos_url":"https://api.github.com/users/charliesome/repos","events_url":"https://api.github.com/users/charliesome/events{/privacy}","received_events_url":"https://api.github.com/users/charliesome/received_events","type":"User","site_admin":true},"labels":[{"url":"https://api.github.com/repos/rubygems/rubygems/labels/accepted","name":"accepted","color":"00aa00"},{"url":"https://api.github.com/repos/rubygems/rubygems/labels/feature%20implementation","name":"feature implementation","color":"fbca04"},{"url":"https://api.github.com/repos/rubygems/rubygems/labels/ready%20for%20work","name":"ready for work","color":"008080"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/rubygems/rubygems/milestones/1","html_url":"https://github.com/rubygems/rubygems/milestones/Future","labels_url":"https://api.github.com/repos/rubygems/rubygems/milestones/1/labels","id":220002,"number":1,"title":"Future","description":"","creator":{"login":"drbrain","id":9831,"avatar_url":"https://avatars.githubusercontent.com/u/9831?v=3","gravatar_id":"","url":"https://api.github.com/users/drbrain","html_url":"https://github.com/drbrain","followers_url":"https://api.github.com/users/drbrain/followers","following_url":"https://api.github.com/users/drbrain/following{/other_user}","gists_url":"https://api.github.com/users/drbrain/gists{/gist_id}","starred_url":"https://api.github.com/users/drbrain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drbrain/subscriptions","organizations_url":"https://api.github.com/users/drbrain/orgs","repos_url":"https://api.github.com/users/drbrain/repos","events_url":"https://api.github.com/users/drbrain/events{/privacy}","received_events_url":"https://api.github.com/users/drbrain/received_events","type":"User","site_admin":false},"open_issues":24,"closed_issues":47,"state":"open","created_at":"2012-11-28T00:26:52Z","updated_at":"2016-04-15T16:34:08Z","due_on":null,"closed_at":null},"comments":22,"created_at":"2013-09-16T15:04:07Z","updated_at":"2016-04-29T00:11:57Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rubygems/rubygems/pulls/649","html_url":"https://github.com/rubygems/rubygems/pull/649","diff_url":"https://github.com/rubygems/rubygems/pull/649.diff","patch_url":"https://github.com/rubygems/rubygems/pull/649.patch"},"body":"This pull request modifies `Gem::RequestSet` to use threads to download gems.\r\n\r\nThis significantly reduces the time it takes to download gems with many dependencies, especially on high latency connections.\r\n\r\nWithout this patch, installing Rails 4.0.0 on my home connection takes just over a minute.\r\n\r\nWhen downloading gems in parallel with this patch, the total time taken to install Rails 4.0.0 drops to just 18 seconds.\r\n\r\nThis could be further reduced by installing gems in parallel, although more work would need to be done to ensure gems are not installed before their dependencies."},"comment":{"url":"https://api.github.com/repos/rubygems/rubygems/issues/comments/215598929","html_url":"https://github.com/rubygems/rubygems/pull/649#issuecomment-215598929","issue_url":"https://api.github.com/repos/rubygems/rubygems/issues/649","id":215598929,"user":{"login":"djberg96","id":78529,"avatar_url":"https://avatars.githubusercontent.com/u/78529?v=3","gravatar_id":"","url":"https://api.github.com/users/djberg96","html_url":"https://github.com/djberg96","followers_url":"https://api.github.com/users/djberg96/followers","following_url":"https://api.github.com/users/djberg96/following{/other_user}","gists_url":"https://api.github.com/users/djberg96/gists{/gist_id}","starred_url":"https://api.github.com/users/djberg96/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djberg96/subscriptions","organizations_url":"https://api.github.com/users/djberg96/orgs","repos_url":"https://api.github.com/users/djberg96/repos","events_url":"https://api.github.com/users/djberg96/events{/privacy}","received_events_url":"https://api.github.com/users/djberg96/received_events","type":"User","site_admin":false},"created_at":"2016-04-29T00:11:57Z","updated_at":"2016-04-29T00:11:57Z","body":"Calling @charliesome, please rebase."}}