-
Notifications
You must be signed in to change notification settings - Fork 408
Closed
Description
To create a baseline when discussing moving from struct to class (#372,#500) or changing the internal representation from double to decimal (#372) or even to a rational value (#478).
Any changes should be compared to a baseline so we know how much better/worse things get in terms of CPU and memory and in both absolute and relative terms.
- CPU time
- Garbage collector pressure
- Memory footprint
- Single quantity instances
- Array of quantity instances
Example of things to test on:
- Construction: constructors and
Frommethods - Conversion:
.As(),.ToUnit()and conversion properties like.Centimeters - ToString: and its various overloads
- Parsing:
ParseandTryParsemethods - Dynamic: The above, but dynamically via
IQuantityandQuantityInfotypes. Should introduce additional boxing and extra conditions.
I suggest using Benchmark.NET, I have good experience with it.