IceStudent Есть нечто вроде declspec: Declaring Attributes of Functions С помощью этих свойств можно контролировать инлайны. Прагмы тоже поддерживаются, но аналога #pragma optimize нет пока.
IceStudent Я имел ввиду именно функции, содержащие asm-вставки, т. е. оптимизицию их Си-части. Вставки - нет, но в принципе - кто запрещает?
У меня был когда-то код: Код (Text): long MyAbs(long x) { _asm { lbl:neg x js lbl } return x; } Так VC8 его превратил в: Код (Text): mov eax,[esp+_x$] cdq xor eax,edx sub eax,edx И, кстати, для моего P4 это достойная замена ветвления на простейшие операции - так что оптимизировать хорошо он умеет))
вот это вот: Код (Text): mov eax,[esp+_x$] cdq xor eax,edx sub eax,edx достойная замена вот этому: Код (Text): long MyAbs(long x) { _asm { lbl:neg x js lbl } return x; } !!!????????????
Nouzui 50 на 50 при первом прохождении Причём для внесения этого бранча в таблицу предсказаний процессору придётся вытеснить оттуда данные другого бранча, который мог бы оказаться более значимым для общей производительности. Бранчи - зло, всегда и везде