Virtual and Non-Virtual

Virtual and Non-Virtual

Why would a call to a virtual function execute slower than a call to a non-virtual function?

Because the call is resolved through an additional level of indirection?instead of going directly to the address of the function’s text and execute it (this is how non-virtual functions are resolved)?the runtime environment first must lookup the address of the virtual function in a table, and only then can it call that function. This lookup adds slight runtime overhead.


Share the Post: