home.social

#оптимизации_компилятора — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #оптимизации_компилятора, aggregated by home.social.

  1. Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes

    В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.

    habr.com/ru/companies/timeweb/

    #C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции

  2. Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes

    В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.

    habr.com/ru/companies/timeweb/

    #C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции

  3. Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes

    В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.

    habr.com/ru/companies/timeweb/

    #C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции

  4. Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes

    В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки. Но это не мешает взять гаечный ключ и начать собирать генератор вручную. В предыдущей статье макросы внезапно начинают изображать из себя язык: DO , LET , IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд. (чтение предыдущей статьи необязательно для понимания этой) Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы. В этой статье я строю велосипедный генератор. Самый честный.

    habr.com/ru/companies/timeweb/

    #C++ #метапрограммирование #генераторы #type_loopholes #макросы #оптимизация #оптимизации_компилятора #ненормальное_программирование #timeweb_статьи #виртуальные_функции

  5. std::launder: зачем и когда нужен

    Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.

    habr.com/ru/companies/otus/art

    #c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели

  6. std::launder: зачем и когда нужен

    Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.

    habr.com/ru/companies/otus/art

    #c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели

  7. std::launder: зачем и когда нужен

    Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.

    habr.com/ru/companies/otus/art

    #c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели

  8. std::launder: зачем и когда нужен

    Привет, Хабр! В этой статье разберём мутный, но крайне важный инструмент ‒ std::launder . Мы поглядим, зачем его протащили в C++17 и что компилятор делает, когда видит launder.

    habr.com/ru/companies/otus/art

    #c++ #C++17 #неопределённое_поведение #lifetime_объекта #оптимизации_компилятора #указатели