{"action":"created","issue":{"url":"https://api.github.com/repos/networkx/networkx/issues/3193","repository_url":"https://api.github.com/repos/networkx/networkx","labels_url":"https://api.github.com/repos/networkx/networkx/issues/3193/labels{/name}","comments_url":"https://api.github.com/repos/networkx/networkx/issues/3193/comments","events_url":"https://api.github.com/repos/networkx/networkx/issues/3193/events","html_url":"https://github.com/networkx/networkx/pull/3193","id":370874282,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzNDUxNDMy","number":3193,"title":"Speed up simple_cycles","user":{"login":"GxvgiuU","id":5919605,"node_id":"MDQ6VXNlcjU5MTk2MDU=","avatar_url":"https://avatars1.githubusercontent.com/u/5919605?v=4","gravatar_id":"","url":"https://api.github.com/users/GxvgiuU","html_url":"https://github.com/GxvgiuU","followers_url":"https://api.github.com/users/GxvgiuU/followers","following_url":"https://api.github.com/users/GxvgiuU/following{/other_user}","gists_url":"https://api.github.com/users/GxvgiuU/gists{/gist_id}","starred_url":"https://api.github.com/users/GxvgiuU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GxvgiuU/subscriptions","organizations_url":"https://api.github.com/users/GxvgiuU/orgs","repos_url":"https://api.github.com/users/GxvgiuU/repos","events_url":"https://api.github.com/users/GxvgiuU/events{/privacy}","received_events_url":"https://api.github.com/users/GxvgiuU/received_events","type":"User","site_admin":false},"labels":[{"id":121661134,"node_id":"MDU6TGFiZWwxMjE2NjExMzQ=","url":"https://api.github.com/repos/networkx/networkx/labels/Enhancement","name":"Enhancement","color":"009800","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/networkx/networkx/milestones/11","html_url":"https://github.com/networkx/networkx/milestone/11","labels_url":"https://api.github.com/repos/networkx/networkx/milestones/11/labels","id":3419136,"node_id":"MDk6TWlsZXN0b25lMzQxOTEzNg==","number":11,"title":"networkx-2.3","description":"","creator":{"login":"dschult","id":915037,"node_id":"MDQ6VXNlcjkxNTAzNw==","avatar_url":"https://avatars0.githubusercontent.com/u/915037?v=4","gravatar_id":"","url":"https://api.github.com/users/dschult","html_url":"https://github.com/dschult","followers_url":"https://api.github.com/users/dschult/followers","following_url":"https://api.github.com/users/dschult/following{/other_user}","gists_url":"https://api.github.com/users/dschult/gists{/gist_id}","starred_url":"https://api.github.com/users/dschult/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dschult/subscriptions","organizations_url":"https://api.github.com/users/dschult/orgs","repos_url":"https://api.github.com/users/dschult/repos","events_url":"https://api.github.com/users/dschult/events{/privacy}","received_events_url":"https://api.github.com/users/dschult/received_events","type":"User","site_admin":false},"open_issues":29,"closed_issues":7,"state":"open","created_at":"2018-06-12T15:10:29Z","updated_at":"2018-10-19T02:17:24Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2018-10-17T02:39:00Z","updated_at":"2018-10-22T03:34:44Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/networkx/networkx/pulls/3193","html_url":"https://github.com/networkx/networkx/pull/3193","diff_url":"https://github.com/networkx/networkx/pull/3193.diff","patch_url":"https://github.com/networkx/networkx/pull/3193.patch"},"body":"Really appreciate your work on this wonderful lib. These are codes written by genius!\r\n\r\nAnd, I found below example,\r\n```\r\nimport networkx as nx\r\ng = nx.DiGraph()\r\nfor i in range(10000):\r\n    g.add_edge(i, i + 1)\r\ng.add_path([10005, 10007, 10005])\r\ng.add_path([10014, 10016, 10014])\r\nlist(nx.simple_cycles(g))\r\n```\r\nruns surprisingly slow. \r\nAfter I look into this, I would like to make 2 changes.\r\n\r\nIn Johnson's paper,\r\n>  Our definitions exclude graphs with loops (edges of the form (v, v)) and multiple edges between the same vertices. \r\n\r\nSo I would like to remove self-cycle edges out. This reduces huge amount of time. If you really want to do this (to be back compatible, although not consistent with its raw paper def), it would still be faster to check it in advance within O(n) time (I would add it if needed).\r\n\r\nAnother one is the component subgraph can be induced by `scc` nodes, which will also reduce some meaningless operation related with stack/blocked compared to subgraph `subG`.\r\n\r\nHope to make this lib even better! Would appreciate hearing your thoughts."},"comment":{"url":"https://api.github.com/repos/networkx/networkx/issues/comments/431734401","html_url":"https://github.com/networkx/networkx/pull/3193#issuecomment-431734401","issue_url":"https://api.github.com/repos/networkx/networkx/issues/3193","id":431734401,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMTczNDQwMQ==","user":{"login":"GxvgiuU","id":5919605,"node_id":"MDQ6VXNlcjU5MTk2MDU=","avatar_url":"https://avatars1.githubusercontent.com/u/5919605?v=4","gravatar_id":"","url":"https://api.github.com/users/GxvgiuU","html_url":"https://github.com/GxvgiuU","followers_url":"https://api.github.com/users/GxvgiuU/followers","following_url":"https://api.github.com/users/GxvgiuU/following{/other_user}","gists_url":"https://api.github.com/users/GxvgiuU/gists{/gist_id}","starred_url":"https://api.github.com/users/GxvgiuU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GxvgiuU/subscriptions","organizations_url":"https://api.github.com/users/GxvgiuU/orgs","repos_url":"https://api.github.com/users/GxvgiuU/repos","events_url":"https://api.github.com/users/GxvgiuU/events{/privacy}","received_events_url":"https://api.github.com/users/GxvgiuU/received_events","type":"User","site_admin":false},"created_at":"2018-10-22T03:34:44Z","updated_at":"2018-10-22T03:34:44Z","author_association":"NONE","body":"nop. pls merge it."}}
{"actor":{"display_login":"GxvgiuU"}}