Использование указателей функций для этого вряд ли даст вам оптимизацию скорости.Во-первых, вы бы добавили 100 указателей на функции.Во-вторых, теперь функции должны вызываться через косвенное обращение к памяти, которое медленнее, чем прямой вызов.В-третьих, вашему компилятору будет сложнее выполнять встраивание функций.
Специфика влияния на производительность будет зависеть от компилятора и целевой платформы, но для x86 вы действительно не хотите идти по пути указателя на функциюесли функции не принимают достаточное количество идентичных параметров.И если вы хотите действительно оптимизировать, для удобства чтения и скорости, вам нужно рефакторинг .
РЕДАКТИРОВАТЬ
Если мы предполагаем 32-битный x86 и обычный компилятор, ивсе функции, не принимающие аргументов, выполнение 100 последовательных вызовов займет 500 байтов на сайте вызова, поскольку вызов кодируется как E8 + четырехбайтовое смещение eip-адреса назначения.
Преобразование в указатели функций завершитсяс таблицей указателей, занимающей 400 байт (возможно, это может быть закодировано меньше, но, поскольку нам не сказано, где определен funcNNN и компилятор, я предположу 100 стандартных 32-битных указателей).В дополнение к этому, вам нужен код для перебора массива указателей и вызова функций;этот код зависит от вашего компилятора, сгенерированный код Visual C ++ 2010 составляет 16 байт.Таким образом, вы сэкономили всего 84 байта за счет скорости выполнения.
Не зная больше о вызываемых функциях, комментировать намного сложнее.