Comments 12
UFO just landed and posted this here
> Конечно С++ Builder оказался чуть староват
Ага, а MS VS 2008 совсем новая штука? :) Брали бы уже от 2010-й студии компилятор.
К тому же глупо сравнивать С++ компиляторы на абстрактных тестах. В первую очередь важна поддержка фич языка, потом скорость компиляции. И вот где-то между ними должна быть оптимизация. Какой мне толк от супербыстрого компилятора, который далеко не всё умеет? Шифрование это, конечно, хорошо, но всё же недостаточно в рамках MFC/CLR/…
Ага, а MS VS 2008 совсем новая штука? :) Брали бы уже от 2010-й студии компилятор.
К тому же глупо сравнивать С++ компиляторы на абстрактных тестах. В первую очередь важна поддержка фич языка, потом скорость компиляции. И вот где-то между ними должна быть оптимизация. Какой мне толк от супербыстрого компилятора, который далеко не всё умеет? Шифрование это, конечно, хорошо, но всё же недостаточно в рамках MFC/CLR/…
+3
Ну так тут тест именно на возможность оптимизации по скорости. Если так учитывать, то можно тестировать на что угодно, от скорости разработки софта, до размера.
0
в 2010 почти все изменения касавшиесе компилятора обошли стороной С/С++, про него похоже в MS начинают медленно, но верно забывать. Потому т.к. сами занимаемся разработкой на плюсах пришлось отказаться от 2010, т.к. просто не поддерживал необходимый софт/библиотеки и тд.
+1
Ошибочное мнение. Судя по личным впечатлениям в частности компилятор стал шустрее. Далее, в 2010-й студии как раз наоборот вспомнили о С++, например в 2008-й нововведений было существенно меньше. Так же, насколько я знаю, внесли много новинок в виду нового стандарта и переработали существующий STL. Всё это есть в блоге на msdn: msdn.microsoft.com/en-us/library/dd547188.aspx раздел «Visual C++ Development», а так же поиск С++ по странице покажет много новинок.
darkslesh: на самом деле как раз оптимизация и является тем сферическим понятием в тестах, которые в реальной жизни играют слабую роль. Например, разработчики серьёзных криптосистем либо другого софта, завязанного на тонны вычислений, вряд ли будут доверять компилятору оптимизацию, а сделают это сами по мере сил. В больших же приложениях намного более важны другие вещи, более высокоуровневые, потому как оптимизацией займутся опять же отдельно. Ну а для широкого сегмента «среднего» класса оптимизацией, судя по опыту, никто и не занимается, либо знаний не хватает, либо бюджетов, да и в софте «средней руки» никто и не думает об этом, частоты и память стоит дешевле.
Потому тесты на оптимизацию это такая себе сферическая писькомерка, которая в реальной жизни зависит от очень многих параметров и очень часто оптимизаторы дают сбой, чем несказанно «веселят» ожидавших чуда программистов.
darkslesh: на самом деле как раз оптимизация и является тем сферическим понятием в тестах, которые в реальной жизни играют слабую роль. Например, разработчики серьёзных криптосистем либо другого софта, завязанного на тонны вычислений, вряд ли будут доверять компилятору оптимизацию, а сделают это сами по мере сил. В больших же приложениях намного более важны другие вещи, более высокоуровневые, потому как оптимизацией займутся опять же отдельно. Ну а для широкого сегмента «среднего» класса оптимизацией, судя по опыту, никто и не занимается, либо знаний не хватает, либо бюджетов, да и в софте «средней руки» никто и не думает об этом, частоты и память стоит дешевле.
Потому тесты на оптимизацию это такая себе сферическая писькомерка, которая в реальной жизни зависит от очень многих параметров и очень часто оптимизаторы дают сбой, чем несказанно «веселят» ожидавших чуда программистов.
+2
Думаю, было бы полезно добавить командные строки запуска для каждого компилятора, потому что не вполне очевидно, что для вас означает «включена вся возможная оптимизация».
+4
Нужно учитывать, что в разных компиляторах функции импортируются по-разному. Компилятор из MS Visual Studio 6.0 напрямую юзает Win32 API, а gcc импортирует функции из msvcrt.dll.
+1
Если под «Включена вся возможная оптимизация» вы имели ввиду gcc -O3 -funroll-all-loops, то очевидно, почему GCC проиграл MS C++.
Командные строки компиляторов и код в студию.
Командные строки компиляторов и код в студию.
+4
Ох… Мне вот жутко узнать что такое «2. Включена вся возможная оптимизация.»
Для gcc и icc полно флагов подходящих под это определение. Да и в студии для сишного кода тоже много всего интересного по оптимизации есть. Причём не всегда очевидно какие флаги для каких задач использовать.
+ я не вижу самого тестируемого кода, чтобы можно было о чём-то говорить.
p.s. ИМХО, Статья не о чём. Если честно, сложилось впечатление, что школьные каникулы у кого-то затянулись.
Для gcc и icc полно флагов подходящих под это определение. Да и в студии для сишного кода тоже много всего интересного по оптимизации есть. Причём не всегда очевидно какие флаги для каких задач использовать.
+ я не вижу самого тестируемого кода, чтобы можно было о чём-то говорить.
p.s. ИМХО, Статья не о чём. Если честно, сложилось впечатление, что школьные каникулы у кого-то затянулись.
+3
> Включена вся возможная оптимизация.
Давайте я угадаю первые 50 параметров в GCC:
Давайте я угадаю первые 50 параметров в GCC:
-fauto-inc-dec -fcprop-registers -fdce -fdefer-pop -fdelayed-branch -fdse -fguess-branch-probability -fif-conversion2 -fif-conversion -fipa-pure-const -fipa-profile -fipa-reference -fmerge-constants -fsplit-wide-types -ftree-bit-ccp -ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-phiprop -ftree-sra -ftree-pta -ftree-ter -funit-at-a-time -fthread-jumps -falign-functions -falign-jumps -falign-loops -falign-labels -fcaller-saves -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fexpensive-optimizations -fgcse -fgcse-lm -finline-small-functions -findirect-inlining -fipa-sra -foptimize-sibling-calls -fpartial-inlining -fpeephole2 -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec -fschedule-insns -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -ftree-switch-conversion -ftree-pre -ftree-vrp -finline-functions -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fipa-cp-clone -fzero-initialized-in-bss
+2
А что старый добрый Watcom уже не котируется? :)
0
Sign up to leave a comment.
Articles
Change theme settings
Тест Си компиляторов под Windows