LINUX.ORG.RU

История изменений

Исправление a--, (текущая версия) :

Нет, partial specialization это не только для макросов. У тебя есть функция от 2 аргументов, f(x,y) и тебе в рантайме стало известно, что второй аргумент допустим будет 8. Тебе прямо в рантайме нужна оптимизированная функция g(x)=f(x,8). При этом функция f была написана именно как функция, а не макрос — поскольку это компилятор должен подстраиваться под наши хотелки, а не мы под него!

UPDATE: При этом можно иметь в рантайме исходный код f и кусочки другой инфы о ней, но не весь исходный код твоего проекта.

UPDATE2: понятно, что на этапе компиляции мы можем сказать «вот эти функции может потребоваться специализировать в рантайме, а вот эти — точно нет, не трать на них время».

Исправление a--, :

Нет, partial specialization это не только для макросов. У тебя есть функция от 2 аргументов, f(x,y) и тебе в рантайме стало известно, что второй аргумент допустим будет 8. Тебе прямо в рантайме нужна оптимизированная функция g(x)=f(x,8). При этом функция f была написана именно как функция, а не макрос — поскольку это компилятор должен подстраиваться под наши хотелки, а не мы под него!

UPDATE: При этом можно иметь в рантайме исходный код f и кусочки другой инфы о ней, но не весь исходный код твоего проекта.

Исправление a--, :

Нет, partial specialization это не только для макросов. У тебя есть функция от 2 аргументов, f(x,y) и тебе в рантайме стало известно, что второй аргумент допустим будет 8. Тебе прямо в рантайме нужна оптимизированная функция g(x)=f(x,8). При этом функция f была написана именно как функция, а не макрос.

UPDATE: При этом можно иметь в рантайме исходный код f и кусочки другой инфы о ней, но не весь исходный код твоего проекта.

Исходная версия a--, :

Нет, partial specialization это не только для макросов. У тебя есть функция от 2 аргументов, f(x,y) и тебе в рантайме стало известно, что второй аргумент допустим будет 8. Тебе прямо в рантайме нужна оптимизированная функция g(x)=f(x,8). При этом функция f была написана именно как функция, а не макрос.