Simplify the use of numerical algorithms
Object oriented numerics has several advantages:
- Improved code readability,
- less lines of code for same effect,
- better error protection,
- allows vectorization of operations, thus taking advantage of the latest CPU architectures.
It also has some drawbacks:
- Overhead for handling objects, especially create and destroy
- Overhead for handling small vectors and matrices.
MtxVec addresses the advantages to the full extent possible and introduces two techniques which decrease the performance drawback for handling objects and short vectors:
- Pre-creation of objects (object cache) and
- memory pre allocation.
All this makes MtxVec a very fast object oriented library.