C++Now 2018: Vittorio Romeo “Futures Without Type Erasure”
Channel: CppNow
Date: 07/06/2018

http://cppnow.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: http://cppnow.org/history/2018/talks/
—
The most popular implementations of futures, including `std::future`, use dynamic allocation and type erasure in order to allow composition of futures into fork/join asynchronous computation graphs. While this overhead is unavoidable when the control flow of the asynchronous graph depends on run-time conditions, it is unnecessary when the "shape" of the computation graph is known at compile-time. 

* Is it possible to implement composable futures without dynamic allocation and type erasure? 
* Is it worth it? 

After a brief overview of the upcoming `std::experimental::future` additions focused on composability, this talk answers these questions showing the train of thought behind the design and implementation of an experimental future library, step-by-step. The library will revolve around the following idea: embed the asynchronous computation graph into types. Template metaprogramming and compile-time transformations will be heavily used to implement zero allocation & zero type erasure futures. 
Running time, compilation time, and generated assembly benchmarks/comparisons will be provided and analyzed. 

The code covered in the talk will make use of C++17 language and library features, that will be explained throughout the presentation. The intended audience for the talk should be familiar with most C++11/14 language features and with `std::future` (or `boost::future`). Knowledge of C++17 features is recommended but not required.
— 
Vittorio Romeo
Bloomberg
Software Engineer
London, United Kingdom

Vittorio Romeo is an Italian 22 year old Software Engineer at Bloomberg LP. He completed his Bachelor's degree in Computer Science at "Università degli Studi di Messina". 

He began programming at a very young age and is now a C++ enthusiast. While following the evolution of the C++ standard and embracing the newest features, he worked on several open-source projects, including modern general-purpose libraries and free cross-platform games. 

Vittorio is an active member of the C++ community: he participated as a speaker at CppCon 2014/2015/2016, ++it Florence 2015 and at his local Linux Day 2013/2014 events, as a Student/Volunteer at C++Now 2015/2016, at Meeting C++ 2015/2016.

He currently maintains a C++-related blog and a YouTube channel featuring well-received modern C++11 and C++14 tutorials. 

When he's not writing code, Vittorio enjoys weightlifting and fitness-related activities, competitive/challenging computer gaming and good scifi movies/TV-series.
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
---

*--*

---