{"action":"created","issue":{"url":"https://api.github.com/repos/mbedmicro/mbed/issues/2176","repository_url":"https://api.github.com/repos/mbedmicro/mbed","labels_url":"https://api.github.com/repos/mbedmicro/mbed/issues/2176/labels{/name}","comments_url":"https://api.github.com/repos/mbedmicro/mbed/issues/2176/comments","events_url":"https://api.github.com/repos/mbedmicro/mbed/issues/2176/events","html_url":"https://github.com/mbedmicro/mbed/pull/2176","id":165780117,"number":2176,"title":"Exporters - progen TARGETS lazy evaluated","user":{"login":"0xc0170","id":2963726,"avatar_url":"https://avatars.githubusercontent.com/u/2963726?v=3","gravatar_id":"","url":"https://api.github.com/users/0xc0170","html_url":"https://github.com/0xc0170","followers_url":"https://api.github.com/users/0xc0170/followers","following_url":"https://api.github.com/users/0xc0170/following{/other_user}","gists_url":"https://api.github.com/users/0xc0170/gists{/gist_id}","starred_url":"https://api.github.com/users/0xc0170/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0xc0170/subscriptions","organizations_url":"https://api.github.com/users/0xc0170/orgs","repos_url":"https://api.github.com/users/0xc0170/repos","events_url":"https://api.github.com/users/0xc0170/events{/privacy}","received_events_url":"https://api.github.com/users/0xc0170/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-07-15T12:51:44Z","updated_at":"2016-07-15T12:56:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mbedmicro/mbed/pulls/2176","html_url":"https://github.com/mbedmicro/mbed/pull/2176","diff_url":"https://github.com/mbedmicro/mbed/pull/2176.diff","patch_url":"https://github.com/mbedmicro/mbed/pull/2176.patch"},"body":"To speed up project.py, use @property for TARGETS.\r\n\r\nWhen exporters are used, it would ask progen for support for all targets\r\n(number of tools x number of targets).\r\n```\r\nProfiling:\r\n\r\nBefore the change:\r\n       1    0.000    0.000    0.010    0.010 definitions.py:113(get_tool_definition)\r\n      824    0.004    0.000    2.990    0.004 definitions.py:124(is_supported)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:145(get_debugger)\r\n        1    0.002    0.002    0.044    0.044 definitions.py:15(<module>)\r\n      384    0.002    0.000    2.986    0.008 definitions.py:26(_load_record)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:32(ProGenMcus)\r\n      992    0.055    0.000    1.959    0.002 definitions.py:34(__init__)\r\n     1376    0.002    0.000    0.003    0.000 definitions.py:40(get_mcus)\r\n      384    0.001    0.000    1.070    0.003 definitions.py:43(get_mcu_record)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:50(ProGenTargets)\r\n      992    0.000    0.000    0.000    0.000 definitions.py:52(__init__)\r\n     1196    0.002    0.000    0.004    0.000 definitions.py:55(get_targets)\r\n      204    0.001    0.000    1.922    0.009 definitions.py:58(get_mcu_record)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:67(get_debugger)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:74(ProGenDef)\r\n      992    0.008    0.000    1.973    0.002 definitions.py:83(__init__)\r\n\r\nDays              : 0\r\nHours             : 0\r\nMinutes           : 0\r\nSeconds           : 4\r\nMilliseconds      : 723\r\nTicks             : 47237302\r\nTotalDays         : 5.46728032407407E-05\r\nTotalHours        : 0.00131214727777778\r\nTotalMinutes      : 0.0787288366666667\r\nTotalSeconds      : 4.7237302\r\nTotalMilliseconds : 4723.7302\r\n\r\nAfter the change:\r\n\r\n        1    0.000    0.000    0.010    0.010 definitions.py:113(get_tool_definition)\r\n        2    0.000    0.000    0.025    0.012 definitions.py:124(is_supported)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:145(get_debugger)\r\n        1    0.002    0.002    0.042    0.042 definitions.py:15(<module>)\r\n        3    0.000    0.000    0.035    0.012 definitions.py:26(_load_record)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:32(ProGenMcus)\r\n        2    0.000    0.000    0.005    0.002 definitions.py:34(__init__)\r\n        5    0.000    0.000    0.000    0.000 definitions.py:40(get_mcus)\r\n        3    0.000    0.000    0.000    0.000 definitions.py:43(get_mcu_record)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:50(ProGenTargets)\r\n        2    0.000    0.000    0.000    0.000 definitions.py:52(__init__)\r\n        5    0.000    0.000    0.000    0.000 definitions.py:55(get_targets)\r\n        3    0.000    0.000    0.035    0.012 definitions.py:58(get_mcu_record)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:67(get_debugger)\r\n        1    0.000    0.000    0.000    0.000 definitions.py:74(ProGenDef)\r\n        2    0.000    0.000    0.005    0.003 definitions.py:83(__init__)\r\n\r\nDays              : 0\r\nHours             : 0\r\nMinutes           : 0\r\nSeconds           : 1\r\nMilliseconds      : 178\r\nTicks             : 11780618\r\nTotalDays         : 1.3634974537037E-05\r\nTotalHours        : 0.000327239388888889\r\nTotalMinutes      : 0.0196343633333333\r\nTotalSeconds      : 1.1780618\r\nTotalMilliseconds : 1178.0618\r\n```\r\n\r\nFixes #2171 \r\n\r\n@theotherjimmy @screamerbg @sarahmarshy "},"comment":{"url":"https://api.github.com/repos/mbedmicro/mbed/issues/comments/232943946","html_url":"https://github.com/mbedmicro/mbed/pull/2176#issuecomment-232943946","issue_url":"https://api.github.com/repos/mbedmicro/mbed/issues/2176","id":232943946,"user":{"login":"PrzemekWirkus","id":6360720,"avatar_url":"https://avatars.githubusercontent.com/u/6360720?v=3","gravatar_id":"","url":"https://api.github.com/users/PrzemekWirkus","html_url":"https://github.com/PrzemekWirkus","followers_url":"https://api.github.com/users/PrzemekWirkus/followers","following_url":"https://api.github.com/users/PrzemekWirkus/following{/other_user}","gists_url":"https://api.github.com/users/PrzemekWirkus/gists{/gist_id}","starred_url":"https://api.github.com/users/PrzemekWirkus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PrzemekWirkus/subscriptions","organizations_url":"https://api.github.com/users/PrzemekWirkus/orgs","repos_url":"https://api.github.com/users/PrzemekWirkus/repos","events_url":"https://api.github.com/users/PrzemekWirkus/events{/privacy}","received_events_url":"https://api.github.com/users/PrzemekWirkus/received_events","type":"User","site_admin":false},"created_at":"2016-07-15T12:56:11Z","updated_at":"2016-07-15T12:56:11Z","body":"+1000"}}
{"actor":{"display_login":"PrzemekWirkus"}}