{"action":"created","issue":{"url":"https://api.github.com/repos/frerich/clcache/issues/248","repository_url":"https://api.github.com/repos/frerich/clcache","labels_url":"https://api.github.com/repos/frerich/clcache/issues/248/labels{/name}","comments_url":"https://api.github.com/repos/frerich/clcache/issues/248/comments","events_url":"https://api.github.com/repos/frerich/clcache/issues/248/events","html_url":"https://github.com/frerich/clcache/pull/248","id":190421281,"number":248,"title":"Add optional server process for caching file hashes","user":{"login":"frerich","id":533425,"avatar_url":"https://avatars.githubusercontent.com/u/533425?v=3","gravatar_id":"","url":"https://api.github.com/users/frerich","html_url":"https://github.com/frerich","followers_url":"https://api.github.com/users/frerich/followers","following_url":"https://api.github.com/users/frerich/following{/other_user}","gists_url":"https://api.github.com/users/frerich/gists{/gist_id}","starred_url":"https://api.github.com/users/frerich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frerich/subscriptions","organizations_url":"https://api.github.com/users/frerich/orgs","repos_url":"https://api.github.com/users/frerich/repos","events_url":"https://api.github.com/users/frerich/events{/privacy}","received_events_url":"https://api.github.com/users/frerich/received_events","type":"User","site_admin":false},"labels":[{"id":397925661,"url":"https://api.github.com/repos/frerich/clcache/labels/feature","name":"feature","color":"0052cc","default":false},{"id":397934358,"url":"https://api.github.com/repos/frerich/clcache/labels/wip","name":"wip","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-11-18T21:03:52Z","updated_at":"2016-11-26T00:51:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/frerich/clcache/pulls/248","html_url":"https://github.com/frerich/clcache/pull/248","diff_url":"https://github.com/frerich/clcache/pull/248.diff","patch_url":"https://github.com/frerich/clcache/pull/248.patch"},"body":"This somewhat experimental patch introduces a new program called `clcachesrv` to the distribution. It's a server process which opens a named pipe and waits for incoming messages via that pipe - each message is a newline-separated list of file paths. For each message, `clcachesrv` will compute *and cache* the file hashes. The cached hashes are invalidated automatically since `clcachesrv` uses file system monitoring API to detect changes to the files for whose the hashes were cached.\r\n\r\nThe PR also introduces a new `CLCACHE_SERVER` variable which, when set, makes `clcache` use `clcachesrv` instead of calculating the hashes itself.\r\n\r\nMy hope is that this resolves (or at least improves the situation described in) #239 -- while discussing the unexpectedly poor performance of cache hits, the code for reading files and hashing them turned out to be dominant in the runtime profile. The `clcachesrv` server hopefully improves this since it will only read and cache files when needed, even across multiple `clcache` invocations."},"comment":{"url":"https://api.github.com/repos/frerich/clcache/issues/comments/263036143","html_url":"https://github.com/frerich/clcache/pull/248#issuecomment-263036143","issue_url":"https://api.github.com/repos/frerich/clcache/issues/248","id":263036143,"user":{"login":"sasobadovinac","id":3677642,"avatar_url":"https://avatars.githubusercontent.com/u/3677642?v=3","gravatar_id":"","url":"https://api.github.com/users/sasobadovinac","html_url":"https://github.com/sasobadovinac","followers_url":"https://api.github.com/users/sasobadovinac/followers","following_url":"https://api.github.com/users/sasobadovinac/following{/other_user}","gists_url":"https://api.github.com/users/sasobadovinac/gists{/gist_id}","starred_url":"https://api.github.com/users/sasobadovinac/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sasobadovinac/subscriptions","organizations_url":"https://api.github.com/users/sasobadovinac/orgs","repos_url":"https://api.github.com/users/sasobadovinac/repos","events_url":"https://api.github.com/users/sasobadovinac/events{/privacy}","received_events_url":"https://api.github.com/users/sasobadovinac/received_events","type":"User","site_admin":false},"created_at":"2016-11-26T00:51:12Z","updated_at":"2016-11-26T00:51:12Z","body":"clcachesrv\r\nhttps://ci.appveyor.com/project/sasobadovinac/freecad/build/1.0.419\r\nhttps://ci.appveyor.com/project/sasobadovinac/freecad/build/1.0.420\r\n\r\nclcache\r\nhttps://ci.appveyor.com/project/sasobadovinac/freecad/build/1.0.421\r\nhttps://ci.appveyor.com/project/sasobadovinac/freecad/build/1.0.422"}}
{"actor":{"display_login":"sasobadovinac"}}