Publication:
Improving performance and maintainability through refactoring in C++11

dc.affiliation.dptoUC3M. Departamento de Informáticaes
dc.affiliation.grupoinvUC3M. Grupo de Investigación: Arquitectura de Computadores, Comunicaciones y Sistemases
dc.contributor.authorGarcía Sánchez, José Daniel
dc.contributor.authorStroustrup, Bjarne
dc.date.accessioned2015-08-31T15:59:25Z
dc.date.available2015-08-31T15:59:25Z
dc.date.issued2015-08-27
dc.description.abstractAbstraction based programming has been traditionally seen as an approach that improves software quality at the cost of losing performance. In this paper, we explore the cost of abstraction by transforming the PARSEC benchmark uidanimate application from low-level, hand-optimized C to a higher-level and more general C++ version that is a more direct representation of the algorithms. We eliminate global variables and constants, use vectors of a user-de ned particle type rather than vectors of built-in types, and separate the concurrency model from the application model. The result is a C++ program that is smaller, less complex, and measurably faster than the original. The benchmark was chosen to be representative of many applications and our transformations are systematic and based on principles. Consequently, our techniques can be used to improve the performance, exibility, and maintainability of a large class of programs. The handling of concurrency issues has been collected into a small new library, YAPL.en
dc.description.sponsorshipJ. Daniel Garcia's work was partially supported by Fundación CajaMadrid through their grant programme for Madrid University Professors. Bjarne Stroustrup's work was partially supported by NSF grant #0833199es
dc.format.extent20es
dc.format.mimetypeapplication/pdf
dc.identifier.urihttps://hdl.handle.net/10016/21506
dc.identifier.uxxiDT/0000001391
dc.language.isoeng
dc.rightsAtribución-NoComercial-SinDerivadas 3.0 España
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/es/
dc.subject.ecienciaInformáticaes
dc.titleImproving performance and maintainability through refactoring in C++11en
dc.typeworking paper*
dc.type.hasVersionSMUR*
dspace.entity.typePublication
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
improving_garcia_stroustrup_2015.pdf
Size:
303.92 KB
Format:
Adobe Portable Document Format