{"action":"created","issue":{"url":"https://api.github.com/repos/palantir/tslint/issues/1131","repository_url":"https://api.github.com/repos/palantir/tslint","labels_url":"https://api.github.com/repos/palantir/tslint/issues/1131/labels{/name}","comments_url":"https://api.github.com/repos/palantir/tslint/issues/1131/comments","events_url":"https://api.github.com/repos/palantir/tslint/issues/1131/events","html_url":"https://github.com/palantir/tslint/issues/1131","id":148717696,"number":1131,"title":"Investigate TSLint Performance","user":{"login":"JKillian","id":1400151,"avatar_url":"https://avatars.githubusercontent.com/u/1400151?v=3","gravatar_id":"","url":"https://api.github.com/users/JKillian","html_url":"https://github.com/JKillian","followers_url":"https://api.github.com/users/JKillian/followers","following_url":"https://api.github.com/users/JKillian/following{/other_user}","gists_url":"https://api.github.com/users/JKillian/gists{/gist_id}","starred_url":"https://api.github.com/users/JKillian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JKillian/subscriptions","organizations_url":"https://api.github.com/users/JKillian/orgs","repos_url":"https://api.github.com/users/JKillian/repos","events_url":"https://api.github.com/users/JKillian/events{/privacy}","received_events_url":"https://api.github.com/users/JKillian/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/palantir/tslint/labels/Status:%20Needs%20Investigation","name":"Status: Needs Investigation","color":"006b75"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/palantir/tslint/milestones/8","html_url":"https://github.com/palantir/tslint/milestones/TSLint%20v4.x","labels_url":"https://api.github.com/repos/palantir/tslint/milestones/8/labels","id":1356076,"number":8,"title":"TSLint v4.x","description":"","creator":{"login":"adidahiya","id":723999,"avatar_url":"https://avatars.githubusercontent.com/u/723999?v=3","gravatar_id":"","url":"https://api.github.com/users/adidahiya","html_url":"https://github.com/adidahiya","followers_url":"https://api.github.com/users/adidahiya/followers","following_url":"https://api.github.com/users/adidahiya/following{/other_user}","gists_url":"https://api.github.com/users/adidahiya/gists{/gist_id}","starred_url":"https://api.github.com/users/adidahiya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adidahiya/subscriptions","organizations_url":"https://api.github.com/users/adidahiya/orgs","repos_url":"https://api.github.com/users/adidahiya/repos","events_url":"https://api.github.com/users/adidahiya/events{/privacy}","received_events_url":"https://api.github.com/users/adidahiya/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":1,"state":"open","created_at":"2015-10-14T19:54:06Z","updated_at":"2016-07-12T02:50:55Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2016-04-15T17:18:16Z","updated_at":"2016-07-18T21:26:08Z","closed_at":null,"body":"No hard data, but running TSLint on a project's worth of TypeScript files has been feeling a little slow to me as of late. Would be worth looking into and benchmarking to see if there's a particular code chokepoint or rule that is slowing things down. Also would be neat to see how performance changes as the TypeScript language services change.\r\n"},"comment":{"url":"https://api.github.com/repos/palantir/tslint/issues/comments/233464080","html_url":"https://github.com/palantir/tslint/issues/1131#issuecomment-233464080","issue_url":"https://api.github.com/repos/palantir/tslint/issues/1131","id":233464080,"user":{"login":"lowkay","id":6552669,"avatar_url":"https://avatars.githubusercontent.com/u/6552669?v=3","gravatar_id":"","url":"https://api.github.com/users/lowkay","html_url":"https://github.com/lowkay","followers_url":"https://api.github.com/users/lowkay/followers","following_url":"https://api.github.com/users/lowkay/following{/other_user}","gists_url":"https://api.github.com/users/lowkay/gists{/gist_id}","starred_url":"https://api.github.com/users/lowkay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lowkay/subscriptions","organizations_url":"https://api.github.com/users/lowkay/orgs","repos_url":"https://api.github.com/users/lowkay/repos","events_url":"https://api.github.com/users/lowkay/events{/privacy}","received_events_url":"https://api.github.com/users/lowkay/received_events","type":"User","site_admin":false},"created_at":"2016-07-18T21:26:08Z","updated_at":"2016-07-18T21:26:08Z","body":"So I have it matching variables in scope and ruling out some declarations based on simple usages (like in binary expressions or return statements). However, I need to work on extending this approach to class members as there are a bunch of edge cases that can't use simple name matching e.g. inside a class method:\r\n\r\n```ts\r\nsomeMethod(): void {\r\n  const me = this;\r\n  me.property  = \"some value\";\r\n}\r\n```\r\n\r\nTo catch this type of usage you have to know the type of `me` and match against that property. I'm sure there are a bunch of other edge cases. I want to get the main ones explored and compare the performance before delving into all the nooks."}}
{"actor":{"display_login":"lowkay"}}