{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/path/issues/7","labels_url":"https://api.github.com/repos/dart-lang/path/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/path/issues/7/comments","events_url":"https://api.github.com/repos/dart-lang/path/issues/7/events","html_url":"https://github.com/dart-lang/path/issues/7","id":117511135,"number":7,"title":"Methods relative() and isWithin() should be faster when work with absolute paths","user":{"login":"scheglov","id":384794,"avatar_url":"https://avatars.githubusercontent.com/u/384794?v=3","gravatar_id":"","url":"https://api.github.com/users/scheglov","html_url":"https://github.com/scheglov","followers_url":"https://api.github.com/users/scheglov/followers","following_url":"https://api.github.com/users/scheglov/following{/other_user}","gists_url":"https://api.github.com/users/scheglov/gists{/gist_id}","starred_url":"https://api.github.com/users/scheglov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scheglov/subscriptions","organizations_url":"https://api.github.com/users/scheglov/orgs","repos_url":"https://api.github.com/users/scheglov/repos","events_url":"https://api.github.com/users/scheglov/events{/privacy}","received_events_url":"https://api.github.com/users/scheglov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"nex3","id":188,"avatar_url":"https://avatars.githubusercontent.com/u/188?v=3","gravatar_id":"","url":"https://api.github.com/users/nex3","html_url":"https://github.com/nex3","followers_url":"https://api.github.com/users/nex3/followers","following_url":"https://api.github.com/users/nex3/following{/other_user}","gists_url":"https://api.github.com/users/nex3/gists{/gist_id}","starred_url":"https://api.github.com/users/nex3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nex3/subscriptions","organizations_url":"https://api.github.com/users/nex3/orgs","repos_url":"https://api.github.com/users/nex3/repos","events_url":"https://api.github.com/users/nex3/events{/privacy}","received_events_url":"https://api.github.com/users/nex3/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-11-18T04:26:47Z","updated_at":"2015-11-18T04:41:45Z","closed_at":null,"body":"@munificent @nex3 @bwilkerson \r\n\r\nI tried to rollback our [`AbsolutePathContext`](https://github.com/dart-lang/sdk/blob/master/pkg/analyzer/lib/src/util/absolute_path.dart) and switch to `package:path` version `1.3.7`.\r\nUnfortunately it is still slow.\r\nAs you can see, it uses about `30%` of total analysis time.\r\n\r\n![image](https://cloud.githubusercontent.com/assets/384794/11232344/cdb61d74-8d66-11e5-92c5-f51c8e07bffc.png)\r\n\r\nFor comparison, with our `AbsolutePathContext` the method `isWithin` is barely visible.\r\n![image](https://cloud.githubusercontent.com/assets/384794/11232421/dc54ba10-8d67-11e5-8904-65e7856f331f.png)"},"comment":{"url":"https://api.github.com/repos/dart-lang/path/issues/comments/157602950","html_url":"https://github.com/dart-lang/path/issues/7#issuecomment-157602950","issue_url":"https://api.github.com/repos/dart-lang/path/issues/7","id":157602950,"user":{"login":"scheglov","id":384794,"avatar_url":"https://avatars.githubusercontent.com/u/384794?v=3","gravatar_id":"","url":"https://api.github.com/users/scheglov","html_url":"https://github.com/scheglov","followers_url":"https://api.github.com/users/scheglov/followers","following_url":"https://api.github.com/users/scheglov/following{/other_user}","gists_url":"https://api.github.com/users/scheglov/gists{/gist_id}","starred_url":"https://api.github.com/users/scheglov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scheglov/subscriptions","organizations_url":"https://api.github.com/users/scheglov/orgs","repos_url":"https://api.github.com/users/scheglov/repos","events_url":"https://api.github.com/users/scheglov/events{/privacy}","received_events_url":"https://api.github.com/users/scheglov/received_events","type":"User","site_admin":false},"created_at":"2015-11-18T04:41:45Z","updated_at":"2015-11-18T04:41:45Z","body":"I know that `package:watcher` is a separate problem, but I just want to give you some additional numbers, because they may be interesting in the context of `package:path`.\r\n\r\nEven with our `AbsolutePathContext` we have some significant use of `package:path`, accounting for about `12%` of total time.\r\n![image](https://cloud.githubusercontent.com/assets/384794/11232726/fd25a94a-8d6a-11e5-8f89-79f40525c649.png)\r\n\r\nBTW, the difference before the previous and this performance profiler is cause by the fact that I turned off our internal logging. Most of the users don't have it on, so that's what they see."}}