Категорических человеческих аргументов в пользу gcc 2.х и 3.x, и против 4.х НЕТ! Но проблеммы у последних пока-что есть! И с чем они связаны? Ноги растут из уродской монстроподобной гибридной архитектуры intel х86/х86-64 совместимых процессоров (в часности современных)(речь именно о них, потому что, как помоему, эта архитектура одна из самых распространенных архитектур в "нашем пространстве")! Под одноядерную CISC архитектуру как бы все нормально - алгоритмы и библиотеки заточены то что надо - от сюда как следствие и максимальное быстродействие в своем классе! Но вот когда началась гонка за скоростью - тут настала "эпоха как бы ,мягко говоря, обмана" - не нужно было засовывать в CISC архитектуру - RISC архитектуру в виде конвеера/ядра!!! А потом, сами знаете через какое место, пытаться ею управлять (всякие там инициализации в микрокоде ядра процессора)! Тем самым делая очень сложными алгоритмы оптимизации кода! Разработчики компиляторов не успевали за "передовыми технологиями"... А потом когда еще добавили не одно ядро.... то тут совсем туговизна настала (с многопоточностью в часности)! По скольку в современных процессорах (речь идет опять же о intel x86/х86-64) запас быстродействия высок (и это связано только с технологическими особенностями, но ни как не с идеологическими, процессоров) по сравнению со "старенькими" 32-битными, то недостаток алгоритмов современных версий компиляторов очень заметно проявляет себя именно на 32-битной архитектуре! Этому свидетельствуют очень многие тесты (ОС ранних версий (в которых более ранняя версия компилятора) в тестах обгоняют ОС последних версий - на одном и том же железе) и это относиться и к BSD и к Linux, и к другим ОС (которыми я мало интересуюсь и как следствие - не компетентен в них)! Вот оно что! Ссылок полно по данной проблематике - от популярных статей до статей для разработчиков... http://ru.wikipedia.org/wiki/CISC http://ru.wikipedia.org/wiki/RISC http://www.osp.ru/cw/1996/46/15818/ http://habrahabr.ru/blogs/complete_code/25072/ http://www.terralab.ru/system/235190/ http://cse.stanford.edu/class/sophomore-college/projects-00/.../ А тут видно как в ядро CISC впихивали RISC ;) Оссобенно это заметно где-то после Pentium 4 http://www.thg.ru/cpu/intel_cpu_history/index.html Найдите отличия;) http://www.cpu-world.com/info/die_pictures.html Ну а это просто интересно... http://www.thg.ru/cpu/amd_cpu_history/index.htmlПусть некоторые из статей старенькие - но ведь главное уловить смысл! ;)
|