Performance/WhatToTest
From Adobe Open Source Wiki
(Difference between revisions)
(→More Complex Stuff) |
(→Runtime Support) |
||
| Line 36: | Line 36: | ||
== Complex Idioms == | == Complex Idioms == | ||
| − | == Runtime Support == | + | == Runtime Support == |
| + | * allocation / deletion | ||
| + | ** new, delete | ||
| + | ** malloc, free | ||
| + | |||
| + | * mathlib | ||
| + | |||
| + | * string manipulation routines | ||
| + | ** strcpy, strchr, strcat, etc. | ||
| + | |||
| + | * memory routines | ||
| + | ** memcpy, memmove, memset, memcmp, etc. | ||
| + | |||
== More Complex Stuff == | == More Complex Stuff == | ||
* STL containers | * STL containers | ||
Revision as of 01:00, 6 May 2008
What things need to be tested as part of this benchmark?
Contents |
Fundamental Concepts
Most of these can't easily be tested.
- regular types
- basic math
- basic flow control
- dereference (pointer/iterator is a regular type that can be dereferenced)
- type conversion
- performance of type conversions (known to be a problem on certain compilers)
Language Concepts
- abstraction
- inheritance
- function calls
- exceptions
- rtti
- function objects
- template instantiation
- constructors
- Are empty constructors correctly optimized away?
Simple Idioms
These are building blocks, with more than one way to express them. These are also usually found in headers like "inlines.h", "math_utils.h", etc.
- swap
- absolute value
- min/max
- switch versus if/else trees
- pin values to range (max, min combo)
- rotate bits
- byte order reversal
- round up/down
- round float to int
- thresholding
- pointer alignment tests and comparisons
Complex Idioms
Runtime Support
- allocation / deletion
- new, delete
- malloc, free
- mathlib
- string manipulation routines
- strcpy, strchr, strcat, etc.
- memory routines
- memcpy, memmove, memset, memcmp, etc.
More Complex Stuff
- STL containers
- iostreams
Optimizations
Need to test as many as possible. And this list deserves it's own page.
Conformance to Specification
- user specified swap in STL algorithms
- short circuit evaluation of boolean expressions