From: SourceForge.net <no...@so...> - 2007-09-18 06:18:55
|
Bugs item #1796847, was opened at 2007-09-18 08:18 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115278&aid=1796847&group_id=15278 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Markus Gaisbauer (mgaisbauer) Assigned to: Nobody/Anonymous (nobody) Summary: Runtime grows quadradtically with number of test methods Initial Comment: Runtime of JUnit TestClasses grows quadradtically, O(n^2), with the number of test methods in the class. Responsible for this behaviour is the method getTestMethods in TestIntrospector which is called before and after every call to a test method. Suggested fix: It should be enough to have 1 TestIntrospector per test class and use a cache (Map<Class<? extends Annotation>, List<Method>>) to avoid redoing the search for setup and teardown methods again and again. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115278&aid=1796847&group_id=15278 |
From: SourceForge.net <no...@so...> - 2008-07-19 00:34:20
|
Bugs item #1796847, was opened at 2007-09-18 02:18 Message generated for change (Comment added) made by mali999 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115278&aid=1796847&group_id=15278 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Markus Gaisbauer (mgaisbauer) Assigned to: Nobody/Anonymous (nobody) Summary: Runtime grows quadradtically with number of test methods Initial Comment: Runtime of JUnit TestClasses grows quadradtically, O(n^2), with the number of test methods in the class. Responsible for this behaviour is the method getTestMethods in TestIntrospector which is called before and after every call to a test method. Suggested fix: It should be enough to have 1 TestIntrospector per test class and use a cache (Map<Class<? extends Annotation>, List<Method>>) to avoid redoing the search for setup and teardown methods again and again. ---------------------------------------------------------------------- Comment By: Mahmood Ali (mali999) Date: 2008-07-18 20:34 Message: Logged In: YES user_id=2152267 Originator: NO Problem seems to be addressed in the org.junit.internal.runners.model.TestClass However, the implemented solution creates a map with all found annotations as keys. They include all annotations present on the methods including non-test-annotation, such as Deprecated, or once that won't be queried, such as Ignore. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115278&aid=1796847&group_id=15278 |
From: SourceForge.net <no...@so...> - 2008-07-22 17:08:10
|
Bugs item #1796847, was opened at 2007-09-17 23:18 Message generated for change (Comment added) made by kbeck You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115278&aid=1796847&group_id=15278 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Markus Gaisbauer (mgaisbauer) Assigned to: Nobody/Anonymous (nobody) Summary: Runtime grows quadradtically with number of test methods Initial Comment: Runtime of JUnit TestClasses grows quadradtically, O(n^2), with the number of test methods in the class. Responsible for this behaviour is the method getTestMethods in TestIntrospector which is called before and after every call to a test method. Suggested fix: It should be enough to have 1 TestIntrospector per test class and use a cache (Map<Class<? extends Annotation>, List<Method>>) to avoid redoing the search for setup and teardown methods again and again. ---------------------------------------------------------------------- >Comment By: Kent Beck (kbeck) Date: 2008-07-22 10:08 Message: Logged In: YES user_id=117320 Originator: NO Versions starting with 4.5 are O(n). See TestClassTest.snappyRetrievalOfAnnotatedMethods() for a test of this behavior. ---------------------------------------------------------------------- Comment By: Mahmood Ali (mali999) Date: 2008-07-18 17:34 Message: Logged In: YES user_id=2152267 Originator: NO Problem seems to be addressed in the org.junit.internal.runners.model.TestClass However, the implemented solution creates a map with all found annotations as keys. They include all annotations present on the methods including non-test-annotation, such as Deprecated, or once that won't be queried, such as Ignore. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=115278&aid=1796847&group_id=15278 |