Здравствуйте, Pzz, Вы писали:
DI>>Из архитектуры компьютера:
Pzz>Это может вообще любого компьютерного телодвижения коснуться, и не специфично для виртуальных методов.
Лол, шта? Как раз специфичен в силу самого механизма вф, на пальцах это было продемонстрировано.
Pzz>Но вообще, в C++, в котором таблица виртуальных методов общая для всех экземпляров класса,
А что мешает в наколеночной реализации на С иметь одну таблицу на все экземпляры?
Pzz>у нее больше шансов оказаться в кэше
Почему?
Pzz>чем у указателей, размазанных по миллиону структур.
Так ведь в реализации ВФ С++ как раз и есть указатели размазанные по структурам, они ведут в таблицу ВФ. В наколеночной реализации это можно как раз подтюнить держа в структурах не указатель, а саму таблицу, таким образом избежав одного похода по памяти.
Pzz>Заинланйенная фукция может запросто отжать из кэша инструкций что-нибудь другое, не менее полезное.
А может и не отжать.
Pzz>Я к тому, что инлайн может и ускорять программу, а может наоборот.
Может, если человек форсинлайнит не понимая, что делает. Но я не понял, ты сейчас будешь доказывать, что инлайнниг не оптимизация, а пессимизация?