Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

C++Now 2018: Vittorio Romeo “Futures Without Type Erasure”

Автор: CppNow

Загружено: 2018-06-07

Просмотров: 1605

Описание:

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
---

*--*

---

C++Now 2018: Vittorio Romeo “Futures Without Type Erasure”

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Lightning Talk: Lambda None of the Things - Braden Ganetsky - C++Now 2025

Lightning Talk: Lambda None of the Things - Braden Ganetsky - C++Now 2025

Lightning Talk: I Now Maybe Understand C++ Hazard Pointers - Denis Yaroshevskiy - C++Now 2025

Lightning Talk: I Now Maybe Understand C++ Hazard Pointers - Denis Yaroshevskiy - C++Now 2025

Ошибки наследования

Ошибки наследования

Алгоритмы и структуры данных ФУНДАМЕНТАЛЬНЫЙ КУРС от А до Я. Графы, деревья, хеш таблицы и тд

Алгоритмы и структуры данных ФУНДАМЕНТАЛЬНЫЙ КУРС от А до Я. Графы, деревья, хеш таблицы и тд

4 причины, почему C++ по-прежнему ПРЕВОСХОДИТ Rust (техническая реальность)

4 причины, почему C++ по-прежнему ПРЕВОСХОДИТ Rust (техническая реальность)

Сисадмины больше не нужны? Gemini настраивает Linux сервер и устанавливает cтек N8N. ЭТО ЗАКОННО?

Сисадмины больше не нужны? Gemini настраивает Linux сервер и устанавливает cтек N8N. ЭТО ЗАКОННО?

Lightning Talk: Your Very Own Godbolt - Andy Soffer - C++Now 2025

Lightning Talk: Your Very Own Godbolt - Andy Soffer - C++Now 2025

Теренс Тао о том, как Григорий Перельман решил гипотезу Пуанкаре | Лекс Фридман

Теренс Тао о том, как Григорий Перельман решил гипотезу Пуанкаре | Лекс Фридман

Luke Valenty - High-Performance Message Dispatch in C++ - emBO++ 2023

Luke Valenty - High-Performance Message Dispatch in C++ - emBO++ 2023

Самый удивительный врач-невролог, которого вы когда либо видели - Антон Епифанов

Самый удивительный врач-невролог, которого вы когда либо видели - Антон Епифанов

Lightning Talk: Immovable C++ Objects? In My Vector? - Likelier Than You Think - Robert Leahy

Lightning Talk: Immovable C++ Objects? In My Vector? - Likelier Than You Think - Robert Leahy

BLUE ORIGIN: БЕЗОС против МАСКА в битве за КОСМОС

BLUE ORIGIN: БЕЗОС против МАСКА в битве за КОСМОС

Он вам не Диод! Таинственный Диод Ганна.

Он вам не Диод! Таинственный Диод Ганна.

coding a machine learning library in c from scratch

coding a machine learning library in c from scratch

Lightning Talk: C++ vs Rust - Mackenzie

Lightning Talk: C++ vs Rust - Mackenzie "Zie" Weaver - C++Now 2025

Zero to Raylib - C/Odin/Zig Comparison!

Zero to Raylib - C/Odin/Zig Comparison!

Lightning Talk: Taking C++ Benchmarking Seriously  - Malte Skarupke  - C++Now 2025

Lightning Talk: Taking C++ Benchmarking Seriously - Malte Skarupke - C++Now 2025

Для Чего РЕАЛЬНО Нужен был ГОРБ Boeing 747?

Для Чего РЕАЛЬНО Нужен был ГОРБ Boeing 747?

ООП На Простых Примерах | Объектно-Ориентированное Программирование

ООП На Простых Примерах | Объектно-Ориентированное Программирование

ЗАЧЕМ ТРАМПУ ГРЕНЛАНДИЯ? / Уроки истории @MINAEVLIVE

ЗАЧЕМ ТРАМПУ ГРЕНЛАНДИЯ? / Уроки истории @MINAEVLIVE

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: infodtube@gmail.com