{"action":"created","issue":{"url":"https://api.github.com/repos/mutability/mlat-client/issues/13","repository_url":"https://api.github.com/repos/mutability/mlat-client","labels_url":"https://api.github.com/repos/mutability/mlat-client/issues/13/labels{/name}","comments_url":"https://api.github.com/repos/mutability/mlat-client/issues/13/comments","events_url":"https://api.github.com/repos/mutability/mlat-client/issues/13/events","html_url":"https://github.com/mutability/mlat-client/pull/13","id":164220338,"number":13,"title":"Performance and consistency fixups","user":{"login":"toofishes","id":265817,"avatar_url":"https://avatars.githubusercontent.com/u/265817?v=3","gravatar_id":"","url":"https://api.github.com/users/toofishes","html_url":"https://github.com/toofishes","followers_url":"https://api.github.com/users/toofishes/followers","following_url":"https://api.github.com/users/toofishes/following{/other_user}","gists_url":"https://api.github.com/users/toofishes/gists{/gist_id}","starred_url":"https://api.github.com/users/toofishes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/toofishes/subscriptions","organizations_url":"https://api.github.com/users/toofishes/orgs","repos_url":"https://api.github.com/users/toofishes/repos","events_url":"https://api.github.com/users/toofishes/events{/privacy}","received_events_url":"https://api.github.com/users/toofishes/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-07-07T03:09:24Z","updated_at":"2016-07-07T09:28:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mutability/mlat-client/pulls/13","html_url":"https://github.com/mutability/mlat-client/pull/13","diff_url":"https://github.com/mutability/mlat-client/pull/13.diff","patch_url":"https://github.com/mutability/mlat-client/pull/13.patch"},"body":"Super minor set of changes; just trying to get my feet wet here in this code. Was looking for any obvious optimization opportunities since after dump1090, the FA MLAT client is the next largest CPU user on my Pi.\r\n\r\nI'm giving these changes a 24 hour baking period locally at the moment to see what kind of difference they make.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/mutability/mlat-client/issues/comments/231028879","html_url":"https://github.com/mutability/mlat-client/pull/13#issuecomment-231028879","issue_url":"https://api.github.com/repos/mutability/mlat-client/issues/13","id":231028879,"user":{"login":"mutability","id":3055062,"avatar_url":"https://avatars.githubusercontent.com/u/3055062?v=3","gravatar_id":"","url":"https://api.github.com/users/mutability","html_url":"https://github.com/mutability","followers_url":"https://api.github.com/users/mutability/followers","following_url":"https://api.github.com/users/mutability/following{/other_user}","gists_url":"https://api.github.com/users/mutability/gists{/gist_id}","starred_url":"https://api.github.com/users/mutability/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mutability/subscriptions","organizations_url":"https://api.github.com/users/mutability/orgs","repos_url":"https://api.github.com/users/mutability/repos","events_url":"https://api.github.com/users/mutability/events{/privacy}","received_events_url":"https://api.github.com/users/mutability/received_events","type":"User","site_admin":false},"created_at":"2016-07-07T09:28:33Z","updated_at":"2016-07-07T09:28:33Z","body":"monotonic_time change seems fine though I don't think it will make a huge difference.\r\n\r\nThe writable change is not on the critical path and it's probably slower anyway, based on the bytecode; I'd need to see a profile showing it actually matters.\r\n\r\n```\r\n>>> dis.dis(flightaware.client.adeptclient.AdeptWriter.writable)\r\n292           0 LOAD_GLOBAL              0 (bool)\r\n              3 LOAD_FAST                0 (self)\r\n              6 LOAD_ATTR                1 (writebuf)\r\n              9 CALL_FUNCTION            1 (1 positional, 0 keyword pair)\r\n             12 RETURN_VALUE\r\n>>> def testit(self):\r\n...   return len(self.writebuf) > 0\r\n... \r\n>>> dis.dis(testit)\r\n  2           0 LOAD_GLOBAL              0 (len)\r\n              3 LOAD_FAST                0 (self)\r\n              6 LOAD_ATTR                1 (writebuf)\r\n              9 CALL_FUNCTION            1 (1 positional, 0 keyword pair)\r\n             12 LOAD_CONST               1 (0)\r\n             15 COMPARE_OP               4 (>)\r\n             18 RETURN_VALUE\r\n```\r\n\r\nIf you can squeeze some more out of it that's great! But I suspect it'll be hard work, most of the more obvious lowhanging fruit has been moved into the extension module so the python side is only processing the messages it really needs to (in theory)"}}
{"actor":{"display_login":"mutability"}}