{"action":"created","issue":{"url":"https://api.github.com/repos/cjcliffe/CubicSDR/issues/150","labels_url":"https://api.github.com/repos/cjcliffe/CubicSDR/issues/150/labels{/name}","comments_url":"https://api.github.com/repos/cjcliffe/CubicSDR/issues/150/comments","events_url":"https://api.github.com/repos/cjcliffe/CubicSDR/issues/150/events","html_url":"https://github.com/cjcliffe/CubicSDR/issues/150","id":108560797,"number":150,"title":"CubicSDR uses lots of CPU","user":{"login":"bobobo1618","id":707839,"avatar_url":"https://avatars.githubusercontent.com/u/707839?v=3","gravatar_id":"","url":"https://api.github.com/users/bobobo1618","html_url":"https://github.com/bobobo1618","followers_url":"https://api.github.com/users/bobobo1618/followers","following_url":"https://api.github.com/users/bobobo1618/following{/other_user}","gists_url":"https://api.github.com/users/bobobo1618/gists{/gist_id}","starred_url":"https://api.github.com/users/bobobo1618/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bobobo1618/subscriptions","organizations_url":"https://api.github.com/users/bobobo1618/orgs","repos_url":"https://api.github.com/users/bobobo1618/repos","events_url":"https://api.github.com/users/bobobo1618/events{/privacy}","received_events_url":"https://api.github.com/users/bobobo1618/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-09-27T21:02:25Z","updated_at":"2015-09-27T22:38:43Z","closed_at":null,"body":"On the profiling talk from https://github.com/cjcliffe/CubicSDR/issues/64\r\n\r\nI ran some of the profiling tools on OS X and came up with this (times are a bit off since everything was built in debug mode):\r\n\r\n<img width=\"1328\" alt=\"profile\" src=\"https://cloud.githubusercontent.com/assets/707839/10125161/729235aa-651f-11e5-946c-6e2a9f9bfc0f.png\">\r\n\r\nTL;DR:\r\n- Demodulator takes ~28% CPU\r\n- FFT takes ~26% CPU\r\n- SDRPostThread takes ~24% CPU\r\n- IO from the HackRF takes ~10% CPU\r\n\r\nWorking on digging into it more now."},"comment":{"url":"https://api.github.com/repos/cjcliffe/CubicSDR/issues/comments/143599261","html_url":"https://github.com/cjcliffe/CubicSDR/issues/150#issuecomment-143599261","issue_url":"https://api.github.com/repos/cjcliffe/CubicSDR/issues/150","id":143599261,"user":{"login":"cjcliffe","id":247927,"avatar_url":"https://avatars.githubusercontent.com/u/247927?v=3","gravatar_id":"","url":"https://api.github.com/users/cjcliffe","html_url":"https://github.com/cjcliffe","followers_url":"https://api.github.com/users/cjcliffe/followers","following_url":"https://api.github.com/users/cjcliffe/following{/other_user}","gists_url":"https://api.github.com/users/cjcliffe/gists{/gist_id}","starred_url":"https://api.github.com/users/cjcliffe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cjcliffe/subscriptions","organizations_url":"https://api.github.com/users/cjcliffe/orgs","repos_url":"https://api.github.com/users/cjcliffe/repos","events_url":"https://api.github.com/users/cjcliffe/events{/privacy}","received_events_url":"https://api.github.com/users/cjcliffe/received_events","type":"User","site_admin":false},"created_at":"2015-09-27T22:38:43Z","updated_at":"2015-09-27T22:38:43Z","body":"Thanks; I'm guessing I can get rid of most of the CPU usage in SDRPostThread since it's processing the DC offset correction there -- which I believe the HackRF already handles.\r\n\r\nFFT seems about right; the rest I'll have to take a closer look and see; demodulator seems a lot more expensive than it should be.\r\n"}}