История изменений
Исправление Manhunt, (текущая версия) :
Очевидно, эти компиляторы внутри устроены по-разному. Может быть, у gcc более рыхлые внутренние структуры данных чем у вижуальника. Может быть, алгоритмы, отвечающие за мемоизацию промежуточных результатов, отличаются сильно (скажем, у вижуальника какой-нибудь алгоритм вытеснения предусмотрен).
В целом, это никак не характеризует качество того или иного компилятора, поскольку твой сценарий использования — синтетический, в реальном коде подобное будет огромной редкостью.
Но можешь попробовать багу в https://gcc.gnu.org/bugzilla/ попробовать завести, вдруг она кого-нибудь заинтересует?
Исправление Manhunt, :
Очевидно, эти компиляторы внутри устроены по-разному. Может быть, у gcc более рыхлые внутренние структуры данных чем у вижуальника. Может быть, алгоритмы, отвечающие за мемоизацию промежуточных результатов, отличаются сильно (скажем, у вижуальника какой-нибудь алгоритм вытеснения предусмотрен).
В целом, это никак не характеризует качество того или иного компилятора, поскольку твой сценарий использования — синтетический, в реальном коде подобное будет редкостью.
Но можешь попробовать багу в https://gcc.gnu.org/bugzilla/ попробовать завести, вдруг она кого-нибудь заинтересует?
Исходная версия Manhunt, :
Очевидно, эти компиляторы внутри устроены по-разному. Может быть, у gcc более рыхлые внутренние структуры данных чем у вижуальника. Может быть, алгоритмы, отвечающие за мемоизацию промежуточных результатов, отличаются сильно (скажем, у вижуальника какой-нибудь алгоритм вытеснения предусмотрен).
В целом, это никак не характеризует качества того или иного компилятора, поскольку твой сценарий использования — синтетический, в реальном коде подобное будет редкостью.
Но можешь попробовать багу в https://gcc.gnu.org/bugzilla/ попробовать завести, вдруг она кого-нибудь заинтересует?