سلام .
در صدا زدن تابع به صورت غیر مستقیم (Function Pointer ) ، باید اشاره گر Dereference بشه و مقدارش ( یعنی آدرس تابع ) بدست بیاد و
بعد تابع صدا زده بشه . که اگه یک Cache-Miss هم رخ بده که بدتر میشه .
در صدا زدن تابع به صورت مستقیم ، آدرس تابع مشخصه ، و نیازی به بدست آوردن آدرس تابع نیست .
آنچنان Overheadی قابل توجهی ندارن .
ولی توی Core بهتره از همون صدا زدن مستقیم استفاده کنید . اگر بتونید که دیگه نیازی به Function Pointer ندارید .