{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/node-cpp-skel/issues/29","repository_url":"https://api.github.com/repos/mapbox/node-cpp-skel","labels_url":"https://api.github.com/repos/mapbox/node-cpp-skel/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/node-cpp-skel/issues/29/comments","events_url":"https://api.github.com/repos/mapbox/node-cpp-skel/issues/29/events","html_url":"https://github.com/mapbox/node-cpp-skel/pull/29","id":182384999,"number":29,"title":"[WIP] Add benchmark scaffolding","user":{"login":"GretaCB","id":1209162,"avatar_url":"https://avatars.githubusercontent.com/u/1209162?v=3","gravatar_id":"","url":"https://api.github.com/users/GretaCB","html_url":"https://github.com/GretaCB","followers_url":"https://api.github.com/users/GretaCB/followers","following_url":"https://api.github.com/users/GretaCB/following{/other_user}","gists_url":"https://api.github.com/users/GretaCB/gists{/gist_id}","starred_url":"https://api.github.com/users/GretaCB/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GretaCB/subscriptions","organizations_url":"https://api.github.com/users/GretaCB/orgs","repos_url":"https://api.github.com/users/GretaCB/repos","events_url":"https://api.github.com/users/GretaCB/events{/privacy}","received_events_url":"https://api.github.com/users/GretaCB/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-10-11T21:57:42Z","updated_at":"2016-10-24T17:33:39Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mapbox/node-cpp-skel/pulls/29","html_url":"https://github.com/mapbox/node-cpp-skel/pull/29","diff_url":"https://github.com/mapbox/node-cpp-skel/pull/29.diff","patch_url":"https://github.com/mapbox/node-cpp-skel/pull/29.patch"},"body":"Per https://github.com/mapbox/node-cpp-skel/issues/25\r\n\r\n- [x] Add single run test\r\n- [x] Add batch run test\r\n- [x] Try out `process.memoryUsage()`. Thinking about [what info is useful here](http://stackoverflow.com/questions/12023359/what-do-the-return-values-of-node-js-process-memoryusage-stand-for)\r\n- [x] Add `sleep` option for mocking when threads are busy, but aren't doing much work\r\n- [x] Add more heavy-duty benchmarks per https://github.com/mapbox/node-cpp-skel/issues/30#issuecomment-253306888\r\n\r\nPer chat with @springmeyer:\r\n- Can we write a test that proves memory optimization?\r\n- node module-ify @springmeyer 's [libnew](https://github.com/springmeyer/libnew) lib for tracking of memory allocations\r\n- [Document how to profile](https://github.com/mapbox/node-cpp-skel/issues/30) (using Activity Monitor). The skel isn't doing heavy operations, but might be possible to profile during batch bench run.\r\n\r\ncc @mapsam @springmeyer"},"comment":{"url":"https://api.github.com/repos/mapbox/node-cpp-skel/issues/comments/255809373","html_url":"https://github.com/mapbox/node-cpp-skel/pull/29#issuecomment-255809373","issue_url":"https://api.github.com/repos/mapbox/node-cpp-skel/issues/29","id":255809373,"user":{"login":"springmeyer","id":20300,"avatar_url":"https://avatars.githubusercontent.com/u/20300?v=3","gravatar_id":"","url":"https://api.github.com/users/springmeyer","html_url":"https://github.com/springmeyer","followers_url":"https://api.github.com/users/springmeyer/followers","following_url":"https://api.github.com/users/springmeyer/following{/other_user}","gists_url":"https://api.github.com/users/springmeyer/gists{/gist_id}","starred_url":"https://api.github.com/users/springmeyer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/springmeyer/subscriptions","organizations_url":"https://api.github.com/users/springmeyer/orgs","repos_url":"https://api.github.com/users/springmeyer/repos","events_url":"https://api.github.com/users/springmeyer/events{/privacy}","received_events_url":"https://api.github.com/users/springmeyer/received_events","type":"User","site_admin":false},"created_at":"2016-10-24T17:33:38Z","updated_at":"2016-10-24T17:33:38Z","body":"per chat with @GretaCB - next I'm going to take a look at profiling and tuning a few things in the PR. In particular I'll look at the impl of the mutex lock and make sure there is enough work being done in the async function that locks the global such that we are properly demonstrating (e.g. providing an example you can profile) the kind of thread contention programmers should avoid."}}
{"actor":{"display_login":"springmeyer"}}