{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node/issues/2167","labels_url":"https://api.github.com/repos/nodejs/node/issues/2167/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node/issues/2167/comments","events_url":"https://api.github.com/repos/nodejs/node/issues/2167/events","html_url":"https://github.com/nodejs/node/pull/2167","id":94541489,"number":2167,"title":"fs: added _writev (up to x50 faster writes)","user":{"login":"ronkorving","id":631240,"avatar_url":"https://avatars.githubusercontent.com/u/631240?v=3","gravatar_id":"","url":"https://api.github.com/users/ronkorving","html_url":"https://github.com/ronkorving","followers_url":"https://api.github.com/users/ronkorving/followers","following_url":"https://api.github.com/users/ronkorving/following{/other_user}","gists_url":"https://api.github.com/users/ronkorving/gists{/gist_id}","starred_url":"https://api.github.com/users/ronkorving/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronkorving/subscriptions","organizations_url":"https://api.github.com/users/ronkorving/orgs","repos_url":"https://api.github.com/users/ronkorving/repos","events_url":"https://api.github.com/users/ronkorving/events{/privacy}","received_events_url":"https://api.github.com/users/ronkorving/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nodejs/node/labels/c++","name":"c++","color":"e11d21"},{"url":"https://api.github.com/repos/nodejs/node/labels/fs","name":"fs","color":"0052cc"},{"url":"https://api.github.com/repos/nodejs/node/labels/libuv","name":"libuv","color":"bfd4f2"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":25,"created_at":"2015-07-12T06:56:00Z","updated_at":"2015-09-09T02:56:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nodejs/node/pulls/2167","html_url":"https://github.com/nodejs/node/pull/2167","diff_url":"https://github.com/nodejs/node/pull/2167.diff","patch_url":"https://github.com/nodejs/node/pull/2167.patch"},"body":"fs.WriteStream did not yet have a _writev method, so writing many buffers at once could not be optimized by libuv. This adds the function.\r\n\r\nI've not yet benchmarked the difference before/after, as I'm not sure how to effectively benchmark disk I/O to be honest (because of disk cache, SSD vs. spinning disk (I'm using a mac fusion drive, that doesn't help)).\r\n*Update: benchmarks below*\r\n\r\nHowever, with this change:\r\n- There will be less system calls\r\n- There will be less jumping between JS land and native land\r\n\r\nSo I expect throughput to increase a little bit, while at the same time reducing CPU usage.\r\n\r\nI didn't add tests, as this was already covered by existing tests (which failed during implementation, but now pass).\r\n\r\nWarning: this is my first PR to io.js, so please be rigorous in review."},"comment":{"url":"https://api.github.com/repos/nodejs/node/issues/comments/138762157","html_url":"https://github.com/nodejs/node/pull/2167#issuecomment-138762157","issue_url":"https://api.github.com/repos/nodejs/node/issues/2167","id":138762157,"user":{"login":"ronkorving","id":631240,"avatar_url":"https://avatars.githubusercontent.com/u/631240?v=3","gravatar_id":"","url":"https://api.github.com/users/ronkorving","html_url":"https://github.com/ronkorving","followers_url":"https://api.github.com/users/ronkorving/followers","following_url":"https://api.github.com/users/ronkorving/following{/other_user}","gists_url":"https://api.github.com/users/ronkorving/gists{/gist_id}","starred_url":"https://api.github.com/users/ronkorving/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronkorving/subscriptions","organizations_url":"https://api.github.com/users/ronkorving/orgs","repos_url":"https://api.github.com/users/ronkorving/repos","events_url":"https://api.github.com/users/ronkorving/events{/privacy}","received_events_url":"https://api.github.com/users/ronkorving/received_events","type":"User","site_admin":false},"created_at":"2015-09-09T02:56:54Z","updated_at":"2015-09-09T02:56:54Z","body":"Responded (not fixed, as I think you *may* be mistaken about these issues (then again, maybe it's me)). Would love some more feedback on it if you think I'm wrong here. Thanks for reviewing."}}