Исправление ranka-lee, (текущая версия) :
Косвенные вызовы очень дорогие. Считай сам.
1. Надо прочитать vtbl. Если её нет в кэше (а скорее всего её нет) - привет 200+ тактов.
2. Надо прочитать код по указателю. Привет ещё 200+
3. Надо подождать пока процессор декодирует инструкции и начнёт их исполнять.
4. Потом надо вернуться назад, что снова остановка процессорного конвейера. И это если код из кэша ещё не улетел.
Исходная версия ranka-lee, :
Косвенные вызовы очень дорогие. Считай сам.
1. Надо прочитать vtbl. Если её нет в кэше (а скорее всего её нет) - привет 200+ тактов. 2. Надо прочитать код по указателю. Привет ещё 200+ 3. Надо подождать пока процессор декодирует инструкции и начнёт их исполнять. 4. Потом надо вернуться назад, что снова остановка процессорного конвейера. И это если код из кэша ещё не улетел.