Почему программы M$ работают так медленно? Потому что они...

 
... скомпилированы компиляторами M$!


Печальная картина :( Скорость кода, генерируемого компилятором Microsoft, совсем не впечатляет — преимущество Intel составляет от 13 до 350(!)%. ... Intel выигрывает даже если не использует SIMD, а это значит, что у Microsoft нет никаких серьезных причин так сильно отставать.

... Интересно, а на чем компилировался Microsoft Office? :) Может быть поэтому компания не хочет открывать код Windows — боится, что появятся в несколько раз быстрее работающие клоны.

Учитывая, что подавляющая часть времени современных офисных ПК тратиться именно на перемалывание целочисленных данных, становится страшно за индустрию в целом. Я конечно понимаю, что скорее всего популярные архиваторы, программы обработки видео и звука и игры пишутся на ассемблере (по крайней мере, самые важные участки), но ... "неприятный осадок остался".

...

Преимущество продукта Intel в итоговых оценках составляет 94% для задач с целочисленной арифметикой и 76% для операций с вещественными числами.

Полный текст на [html_a href="http://www.ixbt.com/cpu/insidespeccpu2000-compilers.shtml" target=_blank]IXBT - здесь


Владимир, а Вы трассировщик лучей - микрософтом компилировали? ;)
 
+
-
edit
 

varban

администратор
★★★
Печальная традиция.
Я с ней знаком давно, еще в 90 году то же самое было.

А знаешь, что еще печальнее?
Что скорость кода падает с увеличением версии компилялки даже если это одна и та же фирма.
Когда я переполз с ТС 1.1 на ВС 3.1, то потерял примерно 10% быстродействия. В моем случае это было не критично и я предпочел больший комфорт в работе.
 
Ну, переход от ТС 1 к ВС3- а разве нельзя было вкючить генерацию кода для 386? ВС3 это очень помогало - во многих вещах.

Скажем, меня очень огорчало в Zortech C++ 3.04 что он не умеет генерить 386 инструкции кроме как под ДОС экстендером.
А 286 - тоже. Но под другим.

На генерации 386 кода Борланд выигрывал довольно много у Зортеха. Правда, для меня наличие экстендера - и пиратского Борланда, увы - перевесило при покупке.

Хотя я даже сейчас выложил бы 30-50 уе за коробку BC++3. Или ТС++3. Доступный бесплатно TС++ 1.01 у меня уже есть.
 
+
-
edit
 

varban

администратор
★★★
Для 386 нельзя было, но включали все, что можно:

bcc -w -ml -c -2 -H=s.sym -O -Z -G -vi -d -f287 -N

И все равно, на 386, даже с ключами -3 и -f387 BC 3.1 проигрывал TC 1 с -f87 :eek: Я ( в отличии от ихбтшников ;) ) не буду утверждать, что мои задачи показательны, но факт остается.
 
Ну, в моих программах, к счастью, 8087 - это не предмет первой необходимости. По крайней мере не во всех.
А 32бит целые встречаются часто.
 
+
-
edit
 
>Почему программы M$ работают так медленно? Потому что они...
>... скомпилированы компиляторами M$!

Прежде всего потому что они сделанны на "прогрессивных" технологиях от M$. А потом уже потому что они скомпилированны и все такое прочее...
 
RU Владимир Малюх #07.06.2002 07:01
+
-
edit
 
Vale>Владимир, а Вы трассировщик лучей - микрософтом компилировали? ;)

Нынешний -да, еще 5-й версией студии. Разницы между ним и последним ваткомом (который пользовали ранее) не не было, а потому и не стали прыгать выше головы.

То, что интеловский компайлер делает код лучше - невелика новость, да и прицепляется он к MSVC за раз.

PS: Тесты конечно хорошо, но в реальности разрыв не так впечатляющ, к сожалению. Было бы также любопытно как тот код исполнится на AMD-шниках.
Maschinen muessen "idiotensicher" werden  
TEvg, А как у тебя с ТОЙ работой? :p

Владимир, по ссылке всё есть...
Для АМД Интеловский компайлер тоже полезен.
Полезнее Микрософтовского.
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★☆
Во времена BC3.1 у меня альтернатив как-то не было, так что впоросами быстродействия я и не занимался :) А вот ко времени Watcom 10.0, на котром я программил довольно много, это меня стало уже интересовать. В первую очередь не абстрактные тесты, а качество реально генерируемого кода. Я имею в виду в ассемблерном виде. Так вот, я был весьма удивлён (это было время пиковой нелюбви к MS), что MSVC4 генерил очень и очень приличный код, не уступающий Ваткому. С ростом версий качество кода улучшалось, но уже MSVC6 я не тестировал, только следил за отзывами людей, этим увлекающимся.

Как обстоят дела сейчас, не знаю. Но когда сравнивал быстродействие теста (рекурсивное вычисление чисел Фибоначчи) на SP-Forth 4.007 и Watcom C++ 10.0 и привёл результаты в эхе fido7.su.softw - то там сказали, что Watcom 10.0, мягко говоря устаревший, и надо пользоваться MSVC6, Intel или GCC :)

Кстати, я был весьма поражён, что SP-Forth на этом тесте проиграл Watcom'у по скорости всего процентов на 70.

Вообще, тем, кто умеет фильтровать в бесцельных спорах распальцовки и нахваливания своего болота, рекомендую заглянуть в эту эху - там много интересного можно узнать о возможностях современных языков :)
 
GB Nick_Crak #07.06.2002 10:57
+
-
edit
 

Nick_Crak
Wyvern

аксакал

админ. бан
Ой не трогайте МелкоСофт!!! :mad: А то я счас как разойдусь!
НЕНАВИЖУ!

Ник
Объективная реальность - вариант бреда, обычно вызывается низким уровнем концентрации алкоголя в крови.
 
RU Владимир Малюх #07.06.2002 11:54
+
-
edit
 
Vale>Для АМД Интеловский компайлер тоже полезен.
Vale>Полезнее Микрософтовского.

Во, я порылся в наших архивах - итак, попытка использования интеловского компилятора (где-то 99г) дала прирост скорости рэйтресера в 4%, но работал сам компайлер медленнее и отдельный бой с отладчиком, еще какие-то глюки, так что плюнули. Приблизительно то же время или чуть позже мы переходили на 6-ку (с новым софтом) и забросили это дело совсем. В общем от добра добра не ищут. Если солнце всходит на востоке и обязательно садится на западе -не трогайите ничего, пусть работает :)

Я согласен с тем, что запросто интеловский компилятор может быть полезен, но нужно десять раз отмерить, прежде чем резать.
Maschinen muessen "idiotensicher" werden  
Про отмерить и отрезать - согласен, ещё бы...
Лично я (буде занимался бы рэйтрейсингом) генерил бы ассемблерный код в ключевых местах - и переписывал его вручную. Но вы же, наверное,именно так и сделали... ;)
 
RU Владимир Малюх #07.06.2002 14:00
+
-
edit
 
Vale>Лично я (буде занимался бы рэйтрейсингом) генерил бы ассемблерный код в ключевых местах - и переписывал его вручную. Но вы же, наверное,именно так и сделали... ;)

Точнее пробовали так сделать - выигрышь в единичных процентах, не более того. Легенды о супер-пупер эффективном ассемблерном программировании в больших программах уже неактуальны.

Наконец внимательно почитал статью - все правильно, но.. "подлая агитка", точнее реклама. :) Еще точнее - попытка мотивации разработчиков заплатить еще несколько сотен бакс за компилятор, в дополнение к уже имеющемуся. Ведь по сути интеловский компилятор подается не как полная альтернатива микрософтовскому, а как замена (будьте внимательны к тонкостям русского языка) уже имеющегося у вас мс-освкого в составе Developer Studio. Ведь сам по себе интеловский компилятор как средство разработки недостаточен.
Maschinen muessen "idiotensicher" werden  
Ну, видимо, у вас критических мест просто много...
Или людей мало. Соотношение, короче. У меня пока было 1:1, так переписал. А стало 2:1 эээ...сказал - нужно быстрее -идите на Дюрон :) .

А насчет того, что на IXBT куплены... Не знаю, не знаю.
Судя по репликам на конференции, они дальше gcc тестировать будут.
На том же коде.
 
+
-
edit
 

=KRoN=
Balancer

администратор
★★★★☆
На счёт куплены iXBT или нет не знаю, но простить ламерство (нет, ЛАМЕРСТВО) обзора по Casio PV-S450 никогда не смогу :D
 
RU Владимир Малюх #08.06.2002 06:26
+
-
edit
 
Vale>Ну, видимо, у вас критических мест просто много...

Хватает :)

Vale>Или людей мало. Соотношение, короче. У меня пока было 1:1, так переписал. А стало 2:1 эээ...сказал - нужно быстрее -идите на Дюрон :) .

Хм, просто нужно уметь пользоваться языком :) Наши ребята язык (в данном случае С/С++) понимают чуть глубже, чем просто алгоритмические конструкции. Во всяком случае например они себе отдают отчет в том, что например попадет на стек, если написать то-то и тото, итдитп. Так устроено обучение, чтобы люди видели за исходным кодом не только то, как прорграмма будет сбя вести "снаружи", но как она на самом деле будет исполняться. Эсли это есть на кончиках пальцев, то ассемблер далеко не так необходим.

А людей всегда мало, это норма жизни :)

Vale>А насчет того, что на IXBT куплены... Не знаю, не знаю.
Vale>Судя по репликам на конференции, они дальше gcc тестировать будут.

Ну, куплены - это громко сказано. Просто многое в тексте выглядит также как в буклетах интела :)
Maschinen muessen "idiotensicher" werden  

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru