Difference between revisions of "Publications/esteban.22.gpce"
From LRDE
(Created page with "{{Publication | published = true | date = 2022-10-10 | authors = Baptiste Esteban, Edwin Carlinet, Guillaume Tochon, Didier Verna | title = The cost of dynamism in static lang...") |
|||
Line 20: | Line 20: | ||
processing (Short Paper)<nowiki>}</nowiki>, |
processing (Short Paper)<nowiki>}</nowiki>, |
||
booktitle = <nowiki>{</nowiki>Proceedings of the 21st International Conference on |
booktitle = <nowiki>{</nowiki>Proceedings of the 21st International Conference on |
||
− | Generative Programming: Concepts & Experiences<nowiki>}</nowiki>, |
+ | Generative Programming: Concepts \& Experiences<nowiki>}</nowiki>, |
year = 2022, |
year = 2022, |
||
address = <nowiki>{</nowiki>Auckland, New Zealand<nowiki>}</nowiki>, |
address = <nowiki>{</nowiki>Auckland, New Zealand<nowiki>}</nowiki>, |
Revision as of 16:09, 10 October 2022
- Authors
- Baptiste Esteban, Edwin Carlinet, Guillaume Tochon, Didier Verna
- Where
- Proceedings of the 21st International Conference on Generative Programming: Concepts & Experiences
- Place
- Auckland, New Zealand
- Type
- inproceedings
- Projects
- Olena
- Keywords
- Image
- Date
- 2022-10-10
Abstract
Generic programming is a powerful paradigm abstracting data structures and algorithms to improve their reusability as long as they respect agiven interface. Coupled with a performance-driven language, it is a paradigm of choice for scientific libraries where the implementation of manipulated objects may change in function of their use case or for performance purposes. In those performance-driven languagesgenericity is often implemented statically to perform some optimization at compile time. This does not fit well with the dynamism needed to handle objects which may only be known at runtime. Thus, in this article, we evaluate a model that couples static genericity with a dynamic model based on type erasure in the context of image processing. Its cost is assessed by comparing the performance of the implementation of some image processing algorithms in C++ and Rust, two performance-driven languages supporting the genericity paradigm. We finally show that the knowledge of some information at compile time is more important than othersbut also that the runtime overhead depends on the algorithmic scheme.
Bibtex (lrde.bib)
@InProceedings{ esteban.22.gpce, author = {Baptiste Esteban and Edwin Carlinet and Guillaume Tochon and Didier Verna}, title = {The cost of dynamism in static languages for image processing (Short Paper)}, booktitle = {Proceedings of the 21st International Conference on Generative Programming: Concepts \& Experiences}, year = 2022, address = {Auckland, New Zealand}, month = dec, abstract = {Generic programming is a powerful paradigm abstracting data structures and algorithms to improve their reusability as long as they respect agiven interface. Coupled with a performance-driven language, it is a paradigm of choice for scientific libraries where the implementation of manipulated objects may change in function of their use case or for performance purposes. In those performance-driven languages, genericity is often implemented statically to perform some optimization at compile time. This does not fit well with the dynamism needed to handle objects which may only be known at runtime. Thus, in this article, we evaluate a model that couples static genericity with a dynamic model based on type erasure in the context of image processing. Its cost is assessed by comparing the performance of the implementation of some image processing algorithms in C++ and Rust, two performance-driven languages supporting the genericity paradigm. We finally show that the knowledge of some information at compile time is more important than others, but also that the runtime overhead depends on the algorithmic scheme.}, note = {accepted} }