{"action":"created","issue":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5698","repository_url":"https://api.github.com/repos/HaxeFoundation/haxe","labels_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5698/labels{/name}","comments_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5698/comments","events_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5698/events","html_url":"https://github.com/HaxeFoundation/haxe/issues/5698","id":178183477,"number":5698,"title":"Generic Class Inline Functions are extremely slow (~x5)","user":{"login":"PDeveloper","id":2379133,"avatar_url":"https://avatars.githubusercontent.com/u/2379133?v=3","gravatar_id":"","url":"https://api.github.com/users/PDeveloper","html_url":"https://github.com/PDeveloper","followers_url":"https://api.github.com/users/PDeveloper/followers","following_url":"https://api.github.com/users/PDeveloper/following{/other_user}","gists_url":"https://api.github.com/users/PDeveloper/gists{/gist_id}","starred_url":"https://api.github.com/users/PDeveloper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PDeveloper/subscriptions","organizations_url":"https://api.github.com/users/PDeveloper/orgs","repos_url":"https://api.github.com/users/PDeveloper/repos","events_url":"https://api.github.com/users/PDeveloper/events{/privacy}","received_events_url":"https://api.github.com/users/PDeveloper/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/HaxeFoundation/haxe/labels/platform-cpp","name":"platform-cpp","color":"006b75"},{"url":"https://api.github.com/repos/HaxeFoundation/haxe/labels/regression","name":"regression","color":"e11d21"}],"state":"closed","locked":false,"assignee":{"login":"hughsando","id":1665494,"avatar_url":"https://avatars.githubusercontent.com/u/1665494?v=3","gravatar_id":"","url":"https://api.github.com/users/hughsando","html_url":"https://github.com/hughsando","followers_url":"https://api.github.com/users/hughsando/followers","following_url":"https://api.github.com/users/hughsando/following{/other_user}","gists_url":"https://api.github.com/users/hughsando/gists{/gist_id}","starred_url":"https://api.github.com/users/hughsando/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hughsando/subscriptions","organizations_url":"https://api.github.com/users/hughsando/orgs","repos_url":"https://api.github.com/users/hughsando/repos","events_url":"https://api.github.com/users/hughsando/events{/privacy}","received_events_url":"https://api.github.com/users/hughsando/received_events","type":"User","site_admin":false},"assignees":[{"login":"hughsando","id":1665494,"avatar_url":"https://avatars.githubusercontent.com/u/1665494?v=3","gravatar_id":"","url":"https://api.github.com/users/hughsando","html_url":"https://github.com/hughsando","followers_url":"https://api.github.com/users/hughsando/followers","following_url":"https://api.github.com/users/hughsando/following{/other_user}","gists_url":"https://api.github.com/users/hughsando/gists{/gist_id}","starred_url":"https://api.github.com/users/hughsando/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hughsando/subscriptions","organizations_url":"https://api.github.com/users/hughsando/orgs","repos_url":"https://api.github.com/users/hughsando/repos","events_url":"https://api.github.com/users/hughsando/events{/privacy}","received_events_url":"https://api.github.com/users/hughsando/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-09-20T21:20:56Z","updated_at":"2016-09-21T07:24:21Z","closed_at":"2016-09-21T05:48:52Z","body":"Using this gist as a sample:\r\nhttps://gist.github.com/PDeveloper/50bdaf7e8e2d4c38de330a1599e06e21\r\n\r\nInline functions in generic classes are SLOW.\r\nThe generated code shows why. The inline function causes a c-style cast to happen, while the non-inlined version uses a static_cast first, and then access fields normally. At least at first glance, that's what I could see to be the only difference!"},"comment":{"url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/comments/248532104","html_url":"https://github.com/HaxeFoundation/haxe/issues/5698#issuecomment-248532104","issue_url":"https://api.github.com/repos/HaxeFoundation/haxe/issues/5698","id":248532104,"user":{"login":"hughsando","id":1665494,"avatar_url":"https://avatars.githubusercontent.com/u/1665494?v=3","gravatar_id":"","url":"https://api.github.com/users/hughsando","html_url":"https://github.com/hughsando","followers_url":"https://api.github.com/users/hughsando/followers","following_url":"https://api.github.com/users/hughsando/following{/other_user}","gists_url":"https://api.github.com/users/hughsando/gists{/gist_id}","starred_url":"https://api.github.com/users/hughsando/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hughsando/subscriptions","organizations_url":"https://api.github.com/users/hughsando/orgs","repos_url":"https://api.github.com/users/hughsando/repos","events_url":"https://api.github.com/users/hughsando/events{/privacy}","received_events_url":"https://api.github.com/users/hughsando/received_events","type":"User","site_admin":false},"created_at":"2016-09-21T07:24:21Z","updated_at":"2016-09-21T07:24:21Z","body":"They are accumulated (result = result + o.field;) that is why the second run is slower that the first.\r\nIf you use the empty string, the resultant empty string will map to a single instance of the empty string."}}
{"actor":{"display_login":"hughsando"}}