Hacker News new | ask | show | jobs
by sedachv 3445 days ago
No need to wonder. That is exactly how C++ vtables work.
2 comments

For virtual functions. Not all calls get an indirection. At least with any respectable compiler..
Right, and how many game developers are recommending to "never use virtual functions because they are slow" in 2017? I remember seeing statements like that in Usenet posts and articles from the 1990s.
Also, "never use virtual functions" is very different than "don't use virtual functions everywhere" Common wisdom is that virtual function usage in hot loops can become problematic.
https://shaneenishry.com/blog/2014/12/27/misconceptions-of-c... is from 2014. I tend to think it might actually make a difference in this case given it's a vtable indirection for every entity every frame (or for every subsystem * every subsystem tick).
Yeah, and in C++ one also avoids vtables when possible.