Для простой проверки RTTI может быть столь же дешевым как сравнение указателя. Для проверки наследования это может быть столь же дорого как strcmp
для каждого типа в дереве наследования, если Вы dynamic_cast
- луг от вершины до нижней части в одной реализации там.
можно также уменьшить издержки, не используя dynamic_cast
и вместо этого проверяя тип явно через & идентификатор типа (...) ==& идентификатор типа (тип). В то время как это не обязательно работает на .dlls или другой динамично загруженный код, это может быть довольно быстро для вещей, которые статически связаны.
, Хотя в той точке это похоже на использование оператора переключения, таким образом, там Вы идете.
Вы можете использовать набор инструментов java-callgraph для создания достаточно точных статических и динамических графов вызовов для Java.