Performance degradation with test loading in 2.5

Bug #420897 reported by Jim Ivey
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
NUnit V2
Fix Released
High
Charlie Poole
2.5
Fix Released
Undecided
Unassigned

Bug Description

A performance degradation was introduced in the 2.5 timeframe that greatly increases the amount of time required to load a test assembly containing a large number of fixtures that inherit from a base class with a large number of assertion "helper" methods.

An example assembly was created with 1000 fixtures each containing 10 tests. The GUI was tested for both 2.4.6 and 2.5, and each loaded the test assembly in roughly 15 seconds. Then 400 methods were added to the base class that all of the fixtures inherited from, and while the time for 2.4.6 increased to roughly a minute, the time for 2.5 increased to 18 minutes.

Initial belief is that this is due to some caching that was introduced in the 2.5 timeframe, with cache keys that are based on the reflected type, meaning that each of the subclasses would have its own 400 cached key/values.

Related branches

Revision history for this message
Charlie Poole (charlie.poole) wrote : RE: [Bug 420897] [NEW] Performance degradation with test loading in 2.5

Thanks.

Charlie

> -----Original Message-----
> From: <email address hidden> [mailto:<email address hidden>] On
> Behalf Of Jim Ivey
> Sent: Friday, August 28, 2009 7:33 PM
> To: <email address hidden>
> Subject: [Bug 420897] [NEW] Performance degradation with test
> loading in 2.5
>
> Public bug reported:
>
> A performance degradation was introduced in the 2.5 timeframe
> that greatly increases the amount of time required to load a
> test assembly containing a large number of fixtures that
> inherit from a base class with a large number of assertion
> "helper" methods.
>
> An example assembly was created with 1000 fixtures each
> containing 10 tests. The GUI was tested for both 2.4.6 and
> 2.5, and each loaded the test assembly in roughly 15 seconds.
> Then 400 methods were added to the base class that all of
> the fixtures inherited from, and while the time for 2.4.6
> increased to roughly a minute, the time for 2.5 increased to
> 18 minutes.
>
> Initial belief is that this is due to some caching that was
> introduced in the 2.5 timeframe, with cache keys that are
> based on the reflected type, meaning that each of the
> subclasses would have its own 400 cached key/values.
>
> ** Affects: nunitv2
> Importance: Undecided
> Status: New
>
> --
> Performance degradation with test loading in 2.5
> https://bugs.launchpad.net/bugs/420897
> You received this bug notification because you are the
> registrant for NUnit V2.
>

Changed in nunitv2:
assignee: nobody → Charlie Poole (charlie.poole)
importance: Undecided → High
milestone: none → 2.5.3
Changed in nunitv2:
status: New → Triaged
Changed in nunitv2:
status: Triaged → Fix Committed
Changed in nunitv2:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.