Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.134.81.206] |
|
Страницы: (56) « Первая ... 54 55 [56] ( Перейти к последнему сообщению ) |
Сообщ.
#826
,
|
|
|
Цитата Qraizer @ Визуалка видимо инлайнит. Если разнести эти функции, то такую оптимизацию в плюсах в принципе невозможно будет сделать.Во-первых, это сделано в твоём собственном листинге вверху. Я даже проверил, визуалка тоже так умеет. Но в целом фигня. Мне бы плюсики с синтаксисом и метапрограммированием дешки и я, наверное, был бы счастлив. |
Сообщ.
#827
,
|
|
|
Цитата applegame @ Если разнести эти функции, то такую оптимизацию в плюсах в принципе невозможно будет сделать. А с -flto? |
Сообщ.
#828
,
|
|
|
Цитата applegame @ Та не. Если её не одёрнуть __declspec(), она вообще в компайл-тайм константу 20 высчитывает. Визуалка видимо инлайнит |
Сообщ.
#829
,
|
|
|
Цитата Qraizer @ Ну поэтому я и одергивал, компилятор D тоже так делает. Та не. Если её не одёрнуть __declspec(), она вообще в компайл-тайм константу 20 высчитывает. |
Сообщ.
#830
,
|
|
|
Полюбуйтесь как плюсовой std::function безбожно сливает встроенным дешным лямбдам:
C++: https://godbolt.org/z/jzo4aGfGb D: https://godbolt.org/z/senjvanrW Сравните ассемблерный выхлоп функции bar и самой лямбды. |
Сообщ.
#832
,
|
|
|
Сообщ.
#833
,
|
|
|
applegame, поясни за scope в данном кейсе, плиз.
|
Сообщ.
#834
,
|
|
|
Цитата D_KEY @ Это чит applegame, поясни за scope в данном кейсе, плиз. scope гарантирует компилятору, что лямбда не утечет за пределы скоупа функции. Соответственно компилятор может вместо аллоцирования замыкания на куче, просто передать в функцию указатель на контекст на стеке и указатель на функцию лямбды. |