{"action":"created","issue":{"url":"https://api.github.com/repos/yesodweb/yesod/issues/815","labels_url":"https://api.github.com/repos/yesodweb/yesod/issues/815/labels{/name}","comments_url":"https://api.github.com/repos/yesodweb/yesod/issues/815/comments","events_url":"https://api.github.com/repos/yesodweb/yesod/issues/815/events","html_url":"https://github.com/yesodweb/yesod/pull/815","id":41575503,"number":815,"title":"fix of issue #767 (great CPU usage in devel)","user":{"login":"dunric","id":1522770,"avatar_url":"https://avatars.githubusercontent.com/u/1522770?v=3","gravatar_id":"","url":"https://api.github.com/users/dunric","html_url":"https://github.com/dunric","followers_url":"https://api.github.com/users/dunric/followers","following_url":"https://api.github.com/users/dunric/following{/other_user}","gists_url":"https://api.github.com/users/dunric/gists{/gist_id}","starred_url":"https://api.github.com/users/dunric/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dunric/subscriptions","organizations_url":"https://api.github.com/users/dunric/orgs","repos_url":"https://api.github.com/users/dunric/repos","events_url":"https://api.github.com/users/dunric/events{/privacy}","received_events_url":"https://api.github.com/users/dunric/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":37,"created_at":"2014-08-31T01:03:48Z","updated_at":"2015-07-20T08:10:41Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/yesodweb/yesod/pulls/815","html_url":"https://github.com/yesodweb/yesod/pull/815","diff_url":"https://github.com/yesodweb/yesod/pull/815.diff","patch_url":"https://github.com/yesodweb/yesod/pull/815.patch"},"body":"Hi,\r\n\r\nI've played a while with an annoying issue #767 when yesod binary run in a development mode consumes inappropriate amount of CPU cycles.\r\nThere is a recent partial fix which increases polling time interval of file list check (https://github.com/paul-rouse/yesod/commit/1d3b60abefb9833e9f3d3a382ae3404313638652) however find is not quite satisfactory.\r\n\r\nSuggested fix removes polling interval entirely as you can completely rely on `filesModified` semaphore controlled by `System.FSNotify.watchTree` . Unless there is no alteration in source tree, there is no point to perform detailed check of changes.\r\nAfter the fix applied CPU usage becomes minimal when idle (drops from 15% to 1% on my computer).\r\n\r\nI can say the fix does work for me reliably after a several days of testing without any quirks (on Linux machine). Would welcome if users of other systems can confirm whether it also works for them."},"comment":{"url":"https://api.github.com/repos/yesodweb/yesod/issues/comments/122799198","html_url":"https://github.com/yesodweb/yesod/pull/815#issuecomment-122799198","issue_url":"https://api.github.com/repos/yesodweb/yesod/issues/815","id":122799198,"user":{"login":"paul-rouse","id":3332071,"avatar_url":"https://avatars.githubusercontent.com/u/3332071?v=3","gravatar_id":"","url":"https://api.github.com/users/paul-rouse","html_url":"https://github.com/paul-rouse","followers_url":"https://api.github.com/users/paul-rouse/followers","following_url":"https://api.github.com/users/paul-rouse/following{/other_user}","gists_url":"https://api.github.com/users/paul-rouse/gists{/gist_id}","starred_url":"https://api.github.com/users/paul-rouse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paul-rouse/subscriptions","organizations_url":"https://api.github.com/users/paul-rouse/orgs","repos_url":"https://api.github.com/users/paul-rouse/repos","events_url":"https://api.github.com/users/paul-rouse/events{/privacy}","received_events_url":"https://api.github.com/users/paul-rouse/received_events","type":"User","site_admin":false},"created_at":"2015-07-20T08:10:41Z","updated_at":"2015-07-20T08:10:41Z","body":"As it stands I think it should just be closed: the real solution is, I believe, something more radical involving `determineDeps`.  When polling, this patch has worse asymptotic behaviour and may be broken in extreme cases."}}