На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (56) « Первая ... 54 55 [56]   ( Перейти к последнему сообщению )  
> D vs C++, почти сурковская пропаганда: не пора ли C++ потихоньку готовиться к пенсии?
    Цитата Qraizer @
    Во-первых, это сделано в твоём собственном листинге вверху. Я даже проверил, визуалка тоже так умеет.
    Визуалка видимо инлайнит. Если разнести эти функции, то такую оптимизацию в плюсах в принципе невозможно будет сделать.
    Но в целом фигня. Мне бы плюсики с синтаксисом и метапрограммированием дешки и я, наверное, был бы счастлив.
    Сообщение отредактировано: applegame -
      Цитата applegame @
      Если разнести эти функции, то такую оптимизацию в плюсах в принципе невозможно будет сделать.

      А с -flto?
        Цитата applegame @
        Визуалка видимо инлайнит
        Та не. Если её не одёрнуть __declspec(), она вообще в компайл-тайм константу 20 высчитывает.
          Цитата Qraizer @
          Та не. Если её не одёрнуть __declspec(), она вообще в компайл-тайм константу 20 высчитывает.
          Ну поэтому я и одергивал, компилятор D тоже так делает.
            Полюбуйтесь как плюсовой std::function безбожно сливает встроенным дешным лямбдам:
            C++: https://godbolt.org/z/jzo4aGfGb
            D: https://godbolt.org/z/senjvanrW

            Сравните ассемблерный выхлоп функции bar и самой лямбды.
            Сообщение отредактировано: applegame -
              Ну и раст тогда уж вдогонку
              Сообщение отредактировано: OpenGL -
                Цитата applegame @
                Сравните ассемблерный выхлоп функции bar и самой лямбды.

                Я ничего не понимаю в ассемблере.

                Ocaml, Go.
                  applegame, поясни за scope в данном кейсе, плиз.
                    Цитата D_KEY @
                    applegame, поясни за scope в данном кейсе, плиз.
                    Это чит :)
                    scope гарантирует компилятору, что лямбда не утечет за пределы скоупа функции. Соответственно компилятор может вместо аллоцирования замыкания на куче, просто передать в функцию указатель на контекст на стеке и указатель на функцию лямбды.
                    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                    0 пользователей:
                    Страницы: (56) « Первая ... 54 55 [56] 


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0661 ]   [ 14 queries used ]   [ Generated: 25.10.21, 04:18 GMT ]