{"action":"created","issue":{"url":"https://api.github.com/repos/cbeust/testng/issues/850","labels_url":"https://api.github.com/repos/cbeust/testng/issues/850/labels{/name}","comments_url":"https://api.github.com/repos/cbeust/testng/issues/850/comments","events_url":"https://api.github.com/repos/cbeust/testng/issues/850/events","html_url":"https://github.com/cbeust/testng/pull/850","id":114484235,"number":850,"title":"Performance improvement for topological sort","user":{"login":"testn","id":445123,"avatar_url":"https://avatars.githubusercontent.com/u/445123?v=3","gravatar_id":"","url":"https://api.github.com/users/testn","html_url":"https://github.com/testn","followers_url":"https://api.github.com/users/testn/followers","following_url":"https://api.github.com/users/testn/following{/other_user}","gists_url":"https://api.github.com/users/testn/gists{/gist_id}","starred_url":"https://api.github.com/users/testn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/testn/subscriptions","organizations_url":"https://api.github.com/users/testn/orgs","repos_url":"https://api.github.com/users/testn/repos","events_url":"https://api.github.com/users/testn/events{/privacy}","received_events_url":"https://api.github.com/users/testn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cbeust/testng/labels/perf","name":"perf","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-11-01T18:21:45Z","updated_at":"2015-11-01T19:43:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cbeust/testng/pulls/850","html_url":"https://github.com/cbeust/testng/pull/850","diff_url":"https://github.com/cbeust/testng/pull/850.diff","patch_url":"https://github.com/cbeust/testng/pull/850.patch"},"body":"- topologicalSort() method has a bug where if there are no dependent nodes, it will treat all the nodes as dependent nodes. By fixing that logic, it will significantly speed up the test case that has a lot of independent nodes. The code in #772 with 6,000 tests now takes 78 seconds vs 98 seconds earlier.\r\n- also provide a shortcut for removeFromNodes where if the node does not have any predecessor, it will not try to perform HashMap.get() which is expensive due to the hashing it has to perform. This change will help the the test case where tests are heavily dependent on each other. It seems to shed off 2-3% off from the start up time."},"comment":{"url":"https://api.github.com/repos/cbeust/testng/issues/comments/152856195","html_url":"https://github.com/cbeust/testng/pull/850#issuecomment-152856195","issue_url":"https://api.github.com/repos/cbeust/testng/issues/850","id":152856195,"user":{"login":"testn","id":445123,"avatar_url":"https://avatars.githubusercontent.com/u/445123?v=3","gravatar_id":"","url":"https://api.github.com/users/testn","html_url":"https://github.com/testn","followers_url":"https://api.github.com/users/testn/followers","following_url":"https://api.github.com/users/testn/following{/other_user}","gists_url":"https://api.github.com/users/testn/gists{/gist_id}","starred_url":"https://api.github.com/users/testn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/testn/subscriptions","organizations_url":"https://api.github.com/users/testn/orgs","repos_url":"https://api.github.com/users/testn/repos","events_url":"https://api.github.com/users/testn/events{/privacy}","received_events_url":"https://api.github.com/users/testn/received_events","type":"User","site_admin":false},"created_at":"2015-11-01T19:43:21Z","updated_at":"2015-11-01T19:43:21Z","body":"BTW this one shaves around 20 seconds off... that should be enough if the tests pass."}}