Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | added pruning of the recursive search tree for detecting cycles in graphs. ↵ | Dirk Baechle | 2013-04-11 | 1 | -3/+6 |
| | | | | | | | | | | | | | | | | | | | | | Closes #2469 provides a significant speedup for get_cycles() Rationale for the whole patch: While trying to analyze the source tree of SCons (www.scons.org), I noticed that pylint took forever to finish a single run. I tracked the problem down a little and finally ended my search at the _get_cycles() function that gets called recursively. They way it is implemented at the moment, you will get a very high number of calls for medium to large graphs that are also very dense in nature (have a high vertex degree). In the case of SCons there are about 176 packages involved, which import each other a lot. This results in 130869104 calls of _get_cycles() and a runtime of 27minutes and 6.835seconds fo the whole pylint run. With this patch you get 10156 calls, taking 30.893s for the complete pylint call. Note, that the pruning of the search tree also reduces the list of output results, since all manifolds that are simple rotated versions of each other, get suppressed automatically. | ||||
* | [packaging] prepare 0.55.1logilab-common-version-0.55.1 | Nicolas Chauvat | 2011-03-28 | 1 | -1/+1 |
| | |||||
* | fix call to dot via subprocess: linux seems to need the shell=False, while ↵ | Alexandre Fayolle | 2011-03-02 | 1 | -2/+6 |
| | | | | windows requires shell=True... | ||||
* | [graph] fix command line construction bug | Alexandre Fayolle | 2011-02-24 | 1 | -6/+5 |
| | |||||
* | fix the ordered_nodes fix by reverting to previous order | Nicolas Chauvat | 2011-02-09 | 1 | -2/+5 |
| | |||||
* | graph: fix and test ordered_nodes() [closes #60288] | Nicolas Chauvat | 2011-01-31 | 1 | -19/+29 |
| | |||||
* | cleanup: remove deprecated compat imports | Emile Anclin | 2010-11-22 | 1 | -1/+1 |
| | |||||
* | 2to3: fix a lot of white space after comma | Emile Anclin | 2010-11-15 | 1 | -1/+1 |
| | |||||
* | py3k: use str_encode for lgc.graph | Emile Anclin | 2010-11-02 | 1 | -5/+2 |
| | |||||
* | py3.x compat: pass a key to sorted | Emile Anclin | 2010-10-18 | 1 | -1/+1 |
| | |||||
* | py2.3 compat : import compat.set, remove deprecated stuff | Sylvain Th?nault | 2010-09-24 | 1 | -1/+2 |
| | |||||
* | import locally so graph is still importable with 2.3 | Sylvain Th?nault | 2010-09-21 | 1 | -1/+1 |
| | |||||
* | don't raise string exception in testlib (closes #35331) | Sylvain Th?nault | 2010-07-01 | 1 | -4/+4 |
| | |||||
* | missing replacement in disclaimer; include COPYING.LESSER in manifest; kill ↵ | Sylvain Th?nault | 2010-04-28 | 1 | -1/+1 |
| | | | | DEPENDS file | ||||
* | propre licensing information (LGPL-2.1). Hope I get it right this time. | Sylvain Th?nault | 2010-04-28 | 1 | -3/+20 |
| | |||||
* | add docstring | Sylvain Th?nault | 2010-04-20 | 1 | -0/+7 |
| | |||||
* | graph: new ordered_nodes method to return an ordered list of nodes from a graph | Sylvain Th?nault | 2010-04-16 | 1 | -0/+27 |
| | |||||
* | generate methods now takes an optional mapfile argument to generate html ↵ | katia | 2010-04-13 | 1 | -4/+8 |
| | | | | image maps | ||||
* | update license, logilab-common is licensed under LGPLv2 | Adrien Di Mascio | 2010-04-13 | 1 | -2/+2 |
| | |||||
* | mergelogilab-common-version-0.45.2 | Sylvain Th?nault | 2009-11-23 | 1 | -3/+3 |
|\ | |||||
| * | fix has_path returned value to include the destination node, else we get | Sylvain Th?nault | 2009-11-12 | 1 | -3/+3 |
| | | | | | | | | an empty list which makes think there is no path (test added) | ||||
* | | include Dotan Barak spell fixes patch | Sylvain Th?nault | 2009-11-23 | 1 | -1/+1 |
|/ | |||||
* | fix file descriptor leak with an incorrect use of mkstemp | Aurelien Campeas | 2009-09-09 | 1 | -5/+4 |
| | |||||
* | win32 adjustments | Aurelien Campeas | 2009-09-08 | 1 | -3/+9 |
| | |||||
* | [cleanup] delete-trailing-whitespace | Nicolas Chauvat | 2009-07-19 | 1 | -6/+6 |
| | |||||
* | use endswith method | Emile Anclin | 2009-05-07 | 1 | -1/+1 |
| | |||||
* | fix double ".dot" extension using outpufile="name.dot" | Emile Anclin | 2009-05-06 | 1 | -4/+8 |
| | |||||
* | have a link to graphviz.org in docstring | Emile Anclin | 2009-04-14 | 1 | -4/+6 |
| | |||||
* | fix typos; little code _get_cycle simplification | Emile Anclin | 2009-04-09 | 1 | -11/+8 |
| | |||||
* | fix dot files' edge generation | Adrien Di Mascio | 2008-11-13 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | Before this patch, edges were defined using the following scheme : Node1 -> Node2 edge [attrs...] Node2 -> Node3 which `dot` understands as three instructions : Node1 -> Node2 ; edge [attr...]; Node2 -> Node3; which means that edge properties are applied to the Node2->Node3 edge rather than to the Node1->Node2 edge. The correct syntax is : Node1 -> Node2 [attr...]; Node2 -> Node3; | ||||
* | new has_path method | Sylvain Thenault | 2008-10-03 | 1 | -0/+19 |
| | |||||
* | fix emit_edge bug #5945 | Emile Anclin | 2008-09-09 | 1 | -3/+3 |
| | |||||
* | make plattform independent temporary file | Emile Anclin | 2008-08-20 | 1 | -9/+12 |
| | |||||
* | put dotsource in /tmp to avoid deleting a dotfile previously in storedir | Emile Anclin | 2008-08-20 | 1 | -1/+3 |
| | |||||
* | improve dots backends configuration | Pierre-Yves David | 2008-07-28 | 1 | -2/+6 |
| | |||||
* | improve doc for better epydoc generation (again). | Nicolas Chauvat | 2008-07-14 | 1 | -2/+4 |
| | |||||
* | improve doc for better epydoc generation. | Nicolas Chauvat | 2008-07-13 | 1 | -13/+14 |
| | |||||
* | doc update | Sylvain | 2008-02-08 | 1 | -3/+4 |
| | |||||
* | explicit charset declaration in the dot file | Sylvain | 2007-08-22 | 1 | -1/+5 |
| | |||||
* | fix escape for DOT node ids. | Adrien Di Mascio | 2007-05-03 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | The doc says : ... node_id : ID [ port ] ... and later: An ID is one of the following: - Any string of alphabetic characters, underscores or digits, not beginning with a digit; - a number [-]?(.[0-9]+ | [0-9]+(.[0-9]*)? ); - any double-quoted string ("...") possibly containing escaped quotes (\"); - an HTML string (<...>). so just quoting the node id seems enough | ||||
* | graph name written in the dot file has to be normalized | Sylvain | 2007-04-09 | 1 | -1/+1 |
| | |||||
* | replace - by _ in dot node id | Sylvain | 2007-03-06 | 1 | -3/+5 |
| | |||||
* | remove cvs kw | Sylvain | 2006-12-11 | 1 | -1/+0 |
| | |||||
* | added missing imports | Adrien Di Mascio | 2006-10-23 | 1 | -0/+3 |
| | |||||
* | backport a dot backend from yams | Sylvain | 2006-10-22 | 1 | -0/+155 |