Войти
ПрограммированиеФорумОбщее

Развёртывание циклов в студии C++

Страницы: 1 2 Следующая »
#0
14:18, 17 сен. 2014

Друзья,
есть ли какой способ в студии гарантировано развернуть цикл со счётчиком, что-то типа:

[unloop]
for(int i=0; i<64; i++)
{
    //...
}

Надеюсь вы меня поняли.


#1
14:29, 17 сен. 2014

Сделай его на шаблонной рекурсии как вариант. Может в новых стандартах можно еще как-то удобнее.

#2
14:34, 17 сен. 2014

glap
> Сделай его на шаблонной рекурсии
Не так силён я в шаблонах и рекурсиях.

#3
14:46, 17 сен. 2014

TheGrayWolf
> Надеюсь вы меня поняли.
Нет.

#4
14:48, 17 сен. 2014
+ Показать
#5
15:39, 17 сен. 2014

TheGrayWolf
> гарантировано развернуть цикл со счётчиком, что-то типа:
И зачем это надо? Ты реально надеешься этим что-то ускорить?

#6
15:58, 17 сен. 2014

9К720
> И зачем это надо? Ты реально надеешься этим что-то ускорить?
А что, уже не комильфо?

#7
17:19, 17 сен. 2014

можно написать рекурсивную дрисню на шаблонах с __forceinline, но мне влом даже пытаться
UPD: Мелкомягкие индусы все уже написали: http://social.msdn.microsoft.com/Forums/vstudio/en-US/edcc6580-1e… rum=vcgeneral

#8
17:56, 17 сен. 2014

TheGrayWolf
> А что, уже не комильфо?

Я понимаю, что может быть влом писать 64 инструкции, но проведи тест, может оно того и не стоит в реале. Когда дело касается оптимизации надо в конкретном месте разбираться.

#9
17:58, 17 сен. 2014

TheGrayWolf
> А что, уже не комильфо?
Неа. Кэши-шмэши, предсказания, все дела...

#10
19:46, 17 сен. 2014

Osiris
> Я понимаю, что может быть влом писать 64 инструкции

Зачем 64 ? Пишешь по степеням двойки :)

#11
21:43, 17 сен. 2014

Duff's device адаптировать?

#12
16:28, 18 сен. 2014

TheGrayWolf
А что внутри?
Компилятор минимум на 4-8 итераций у тебя его сам развернет зависит от наполнения. будет 8-16 итераций вместо 64.

#13
16:59, 18 сен. 2014

foxes
> А что внутри?
sse интринсики, не много, да и циклов у меня не 64 а 8, просто интересно, стоит ли разворачивать их руками.

#14
17:42, 18 сен. 2014

TheGrayWolf
для 2010 студии интринсики ни чего хорошего не дают, очень много иструкций пришлось ручками убирать после дизассемблирования, на 20% быстрее код получался ручками, при в большом объеме инструкций.

Страницы: 1 2 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.