Abstraction and its Effects on Runtime Performance: An analysis of the Thyra package
Mike Heroux, Computer Science
Abstract interfaces support the separation of functionality from implementation, providing the ability to adapt concrete capabilities to fit the user’s view. This generic type of programming is the purpose of the Thyra package, which contains a number of interfaces for accessing numerical algorithms. Yet by using interfaces, we are forced to accept a certain amount of overhead added to a program’s run time. To help understand more about how interfaces affect performance, access to Epetra classes via the Thyra interfaces were tested against direct access to these classes. Times were collected for running a number of numerical algorithms, and the amount of overhead for specific problem sizes and algorithms were generated. Interfaces can be very useful to a programmer; however, when to use interfaces depends on how much overhead someone is willing to accept.
Mansano, Stephanie, "Abstraction and its Effects on Runtime Performance: An analysis of the Thyra package" (2006). Honors Theses, 1963-2015. 301.