{"action":"created","issue":{"url":"https://api.github.com/repos/mixxxdj/mixxx/issues/805","labels_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/805/labels{/name}","comments_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/805/comments","events_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/805/events","html_url":"https://github.com/mixxxdj/mixxx/pull/805","id":121659156,"number":805,"title":"Add Google's benchmarking library.","user":{"login":"rryan","id":26527,"avatar_url":"https://avatars.githubusercontent.com/u/26527?v=3","gravatar_id":"","url":"https://api.github.com/users/rryan","html_url":"https://github.com/rryan","followers_url":"https://api.github.com/users/rryan/followers","following_url":"https://api.github.com/users/rryan/following{/other_user}","gists_url":"https://api.github.com/users/rryan/gists{/gist_id}","starred_url":"https://api.github.com/users/rryan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rryan/subscriptions","organizations_url":"https://api.github.com/users/rryan/orgs","repos_url":"https://api.github.com/users/rryan/repos","events_url":"https://api.github.com/users/rryan/events{/privacy}","received_events_url":"https://api.github.com/users/rryan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-12-11T08:07:36Z","updated_at":"2015-12-16T00:15:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mixxxdj/mixxx/pulls/805","html_url":"https://github.com/mixxxdj/mixxx/pull/805","diff_url":"https://github.com/mixxxdj/mixxx/pull/805.diff","patch_url":"https://github.com/mixxxdj/mixxx/pull/805.patch"},"body":"As mentioned by @ywwg, in lp:1524561, we could use a way to micro-benchmark things like our filters, SampleUtil, etc. So far we mostly do ad-hoc measurements using PerformanceTimer.\r\n\r\nGoogle open sourced their internal benchmarking library:\r\nhttps://github.com/google/benchmark\r\n\r\nIt's in the same sort of style as googletest/googlemock so it will fit into our test suite pretty nicely. \r\n\r\nIt's essentially requires C++11 but master is on C++11 now so that's fine. I'm not sure if it will build on MSVC though -- works fine on Clang for me.\r\n\r\nI added an example in SampleUtilTest where we have some commented out benchmarks. Paging @daschuer as I dropped some of the stuff you did around \"equal start conditions\".\r\n\r\nTo run the benchmarks, run ```mixxx-test --benchmark```."},"comment":{"url":"https://api.github.com/repos/mixxxdj/mixxx/issues/comments/164942456","html_url":"https://github.com/mixxxdj/mixxx/pull/805#issuecomment-164942456","issue_url":"https://api.github.com/repos/mixxxdj/mixxx/issues/805","id":164942456,"user":{"login":"sblaisot","id":2768193,"avatar_url":"https://avatars.githubusercontent.com/u/2768193?v=3","gravatar_id":"","url":"https://api.github.com/users/sblaisot","html_url":"https://github.com/sblaisot","followers_url":"https://api.github.com/users/sblaisot/followers","following_url":"https://api.github.com/users/sblaisot/following{/other_user}","gists_url":"https://api.github.com/users/sblaisot/gists{/gist_id}","starred_url":"https://api.github.com/users/sblaisot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sblaisot/subscriptions","organizations_url":"https://api.github.com/users/sblaisot/orgs","repos_url":"https://api.github.com/users/sblaisot/repos","events_url":"https://api.github.com/users/sblaisot/events{/privacy}","received_events_url":"https://api.github.com/users/sblaisot/received_events","type":"User","site_admin":false},"created_at":"2015-12-16T00:15:49Z","updated_at":"2015-12-16T00:15:49Z","body":"I can test, but not before Thursday. Can this wait that time? "}}