Calling via a function pointer isn&#x27;t devirtualization. It&#x27;s still an indirect call, and does not allow the function to be inlined since the actual function is not known until runtime. It merely gets you from something 2-4x as expensive as a c++ virtual call to something roughly as expensive.