LINUX.ORG.RU

Возрождение Watcom C


0

0

Немного устарело, новость от 27 сентября, но интересно:

SciTech анонсировала beta-версию 11.0c широко известного ранее компилятора Watcom C/C++/Fortran. Теперь он называется Open Watcom и поддерживает Windows, DOS, OS/2, Netware, QNX. Поддержка Linux планируется в самое ближайшее время.


>>> Подробности

Классный компилятор был.
А вот понадобиться ли он кому-то сейчас, это еще неизвестно.

Havoc ★★★★
()
Ответ на: комментарий от anonymous

> Паровоз уже ушел! Пока они доведут его до уровня гнуси...

Зачем доводить? Его портировать надо, а хороший код для x86 он и так создавать умеет.

Troll
()

для x86 он создавал лучший код. стоило vtune его посмотреть.

anonymous
()

"хорошесть" компилятора - в стабильности, функциональности и соответствии стандартам, а оптимизация, при нынешних микропроцессорных технологиях, едва ли не вредна. В любом случае, это прошлый век, но может для примитивных 486 для встраиваемых систем Watcom - хорошее решение.

dea
()

будем надеяться получится у них что-нибудь, когда его sybase бросила прямо сердце кровью облилось :( хотя у него тогда плохо с C++ было, но для х86 компилятор C был имхо лучший из имеющихся в пророде.

в любом случае 2 компилятора(не считая M$) лучше чем 1.

anonymous
()

I don't have much experience with original Watcom C for DOS but spent a lot of time with Sybase Power++ based on Watcom. It was a real piece of junk! No STL, neither POSIX nor ANSI compliance, extremely large executables and no support for Makefiles, version controlling (except PVCS) and third-party tools!! R.I.P.!

anonymous
()

> оптимизация, при нынешних микропроцессорных технологиях,
> едва ли не вредна. В любом случае, это прошлый век

Интересно, а считается ли EPIC/VLIW (например, IA64) "современной микропроцессорной технологией"?
А знаете ли Вы, что основной принцип VLIW - "тупой процессор, сверхумный компилятор"? Зайдите на www.trimaran.org, что ли ...

Если вы хотите гонять процессор на частотах в несколько гигагерц и выше, то вы ФИЗИЧЕСКИ не сможете делать аппаратные проверки зависимостей и аппаратное распределение команд по функциональным устройствам. ВСЕ это становится обязанностью ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА.

Наш опыт (на специализированных VLIW процесорах) показывает, что правильная оптимизация ускоряет код в 5-10 раз.

P.S.
Как Вы думаете, сколько тактов нужно на выполнение одной итерации цикла скалярного произведения векторов (2 загрузки, умножение и сложение), если загрузка делается 3 такта, умножение - 2 такта, сложение 1 такт?
Ответ - на VLIW процессоре с поддержкой вращения регистров и конвейеризованными устройствами загрузки и умножения - 1 (ОДИН) такт на итерацию.
Как это достигается? Современными методами оптимизации.

P.P.S.
Watcom тут не причем. Просто отрицать значение оптимизации может только человек, совершенно не представляющий состояние дел в современной computer science.

yoush
()

>I don't have much experience with original Watcom C for DOS but spent a
>lot of time with Sybase Power++ based on Watcom. It was a real piece of
>junk! No STL, neither POSIX nor ANSI compliance, extremely large
>executables and no support for Makefiles, version controlling (except
>PVCS) and third-party tools!! R.I.P.!
>
>anonymous (*) (2001-10-12 15:33:28.0)

Wactom 9.x, 10.x нормально работает с Makefile.


asd
()
Ответ на: комментарий от yoush

> Как это достигается? Современными методами оптимизации.
Nikita, razve konveer, eto "sovremennye metody optimizacii"? ;)))
Ty uzh ne pugaj cheloveka ;)

ivlad ★★★★★
()

2oxonian
Конвейера тут мало. Ты еще помнишь с ВМиК, какова средняя длина линейного участка кода? И во сколько раз больше ступеней конвейера в P4?
Тут как раз смысл в том, что поддерживать аппаратно конвейер команд (не путать с конвейеризованными функциональными устройствами!) в процессоре (и отслеживать все вытекающие из этого зависимости) на тех частотах, на которых народ захочен гонять процессоры через несколько лет, уже невозможно. Ты никогда не прикидывал сложность аппаратуры, производящей в реальной времени распределение команд по нескольким конвейерам суперскалярного процессора?

VLIW процессор представляет из себя тупые функциональные устройства, способные заглотить операнды и выдать результат. И минимальную логику их сопряжения. Все остальное - задача компилятора. Включая низкоуровневое распараллеливание.
Кстати, соответствующие методы компиляции разрабатываются конкретно сейчас. Очень много публикаций на эту тему.

yoush
()

Хех... чего вы спорите, вот подождем выхода порта под линукс и посмотрим насколько он хорошим остался.

eXOR ★★★★★
()
Ответ на: комментарий от asd

Я говорил про Power++ 2.1 Вот, даже зарегистрировался зачем-то...

svartalf
()

Возрождение Watcom C - щастье есть !!!

госпидя ! неужто наконец-то любимый Ватком возродился ! Брошу админство, стану снова программером !

anonymous
()
Ответ на: комментарий от dea

>"хорошесть" компилятора - в стабильности, функциональности и
> соответствии стандартам, а оптимизация, при нынешних
> микропроцессорных технологиях, едва ли не вредна.

Слова человека, который не пытался чего-то считать...

ingvarr
()

Возрождение блудного попугая

А вообще хорошо это. Мне очень интересно было бы его с KAI (лучшее, что пока что виделось) сравнить, когда и если (надеюсь), он станет ISO...

ingvarr
()

>"хорошесть" компилятора - в стабильности, функциональности и > соответствии стандартам, а оптимизация, при нынешних > микропроцессорных технологиях, едва ли не вредна.

Неправильно. Небрежно написанный код (на ассемблере) для приложения имеющего отншение например к криптографии может работать в десятки раз дольше, чем оптимальный. Если Вы пишете ни С, то то же самое относится к компилятору. Да и вообще непонятно - а в чем по вашему может быть вред хорошо оптимизирующего компилятора ?

EasyRider
()
Ответ на: Возрождение Watcom C - щастье есть !!! от anonymous

>госпидя ! неужто наконец-то любимый Ватком возродился ! Брошу админство, стану снова программером !
anonymous (*) (2001-10-12 17:09:29.0)

А бабки, бабки-то реальные за что получать будишь? Щас рынку ничего кроме 1С Бухгалтерии не надо, и там один хер, чем ты ее закомпилишь, все = тормозить будит!

А вообще рад за тебя, хорошо, когда профессия интересная.

anonymous
()

Скачал с http://www.openwatcom.org/ этот 46 метровый watcom-c-11.0c-b1.exe, а он оказался update для предыдущих версий :(((

anonymous
()

А где можно взять полную версию ???

anonymous
()

Ведь там НАПИСАНО что это UPDATE для версий 11.х Посему непонятно, чему вы удивляетесь.

anonymous
()

Кстати, <оффтопик, не хочется мешать умной дискусии об оптимизации, очень на самом деле интересные постинги>
кто-то тут говорил, что Open Source проекты обречены на голимое вымирание, что они не смогут конкурировать абсолютно ни с кем и никогда. А чего ж они хотят этим возрождением сказать?
</оффтопик>

anonymous
()

2anonymous (*) (2001-10-13 17:54:18.0)

видимо то, что, тот кто что-то тут говорил про ... дятел :)

anonymous
()

Не понимаю, что это некоторые так ополчились на Watcom. На моей памяти это самый классный компилятор. Можно много говорить, что сейчас, типа, не нужны всякие оптимизации, да здравствует 1С, всякие тормоза и т.д. Не нужна оптимизация - не нужно на С<++> ваять. Берите скриптовые языки и лабайте бухгалтерию. А когда речь заходит о математике или игрушках, тут уже деваться некуда. На чём писАлись игрушки под DOS? Ну уж никак не на VBS :) Так что такая рулезная вещь не помешает.

Brom
()

К вопросу об оптимизации: штука, наверное, хорошая, но ведь, даже если и есть теоретические обоснования, кто из производителей компилеров их читает? Помнится, в бытность мою программеров на ЕС на кой-то конференции, рассказывали, представляли новый оптимизирующий компилер Фортрана (СС, что ли), дык докладчику тут же представили программку из 5 (!) строк, которая после оптимизации работала _совершенно_ не как было задумано!

Цэ, особенно ++ с его ссылками, предоставляет кучу возможностей для ручной оптимизации -- вот этим бы и пользоваться...

Собственно, к Ваткому это отношения не имеет... Да и низкоуровневая оптимизация -- штука, помнится. дико процессорозависимая. Вряд ли потянут...

Вот только непонятно, почему взялись за 11.0 -- помнится, когда вышел оный 11, он вызвал просто шквал вопросов с единым ответом: а вот возьми такую вот штуку (штуки менялись, помню только, что их было МНОГО) от предыдущей версии. И так -- пока не вышел 11.5, на отдельном сидюке и, видимо, весьма немаленький...

Я, кстати, после этого стал как-то по-другому воспринимать фразу про бесплатный сыр: оказывается, платность сыра не гарантирует отсутствия мышеловки...

anonymous
()

2anonymous ([78]*) (2001-10-14 08:49:32.0)

ты ничего не перепутал? имхо то, что ты говориш было с 10.0->10.6, a 11.0[abc] по-моему как раз всего хватало... давно это было :)

где-то у меня все это лежало, начиная с то-ли 8.x то-ли 9.x :)

anonymous
()
Ответ на: комментарий от anonymous

> Цэ, особенно ++ с его ссылками, предоставляет кучу возможностей
> для ручной оптимизации -- вот этим бы и пользоваться...

Ага. И лупы руками анроллить, и инлайнить, и ваще...

ingvarr
()

Увы, робяты в свое время оказались несколько в стороне от mainstream'а... Стараниями форточников.

Ведь каждый, наверняка помнит, довесочку к тогдашним игрушкам DOS4GW именуемую - фирменный знак, что на watcom написано... Но это так, не в тему. Сории за оффтопик. :)

anonymous
()

ну вы ребята, даете!

прежде чем критиковать - соображать надо, о чем речь

а то один бабаяновец, выпендриться решил, VLIW он видите ли знает :-))), ты прямо в шефа удался, дарагой! высказываешься только в свою пользу, даже если и не в тему... "Watcom ни при чем", так чего ты критикуешь?!!!

а некоторые не понимают различие оптимизации штатных компиляторов от интеллектуальных трансляторов, то, на что способны обычные компиляторы, давням давно делается такими машинками, как PowerPC, PA-RISC и им подобных, а Intel давно им пытается подражать. И делают они это гораздо лучше софта, который работает в статике, в то время как процессор имеет возможность динамического анализа. Если вы это не понимате, то лучше помолчать.

dea
()

2dea

Все это может и так, но сложный анализ, осуществлякмый процессором аппаратно, плохо совместим с гигагерцами. Объяснять почему?

Кстати, интел это уже вполне осознал, раз в EPIC полез. Да они это и не скрывают, в публикациях-то. И остальные туда же двинут, никуда не денутся (если только не распространится какая-то принципиально новая модель вычислений вроде квантовых компьютеров).

К Бабаяну я никакого отношения не имею. А критикую ложные с моей точки зрения высказывания.

yoush
()

2yoush

>Все это может и так, но сложный анализ, осуществляемый процессором аппаратно, плохо совместим с гигагерцами. Объяснять почему?

ну так объясняй не объясняй, все равно, разработчики процессоров в основном подстраиваются под требования IT, почему-то ни SGI ни SUN особено за гигагерцами не гонятся, объясните-ка им почему это нужно делать ;-)

в любом случае, речь то о земном, а не о высших материях, Watcom'у до GNU не достать, время ушло, да и моноархитектурный компилятор для OC общего назначения - анахронизм!

dea
()

>Ведь каждый, наверняка помнит, довесочку к тогдашним игрушкам DOS4GW > именуемую - фирменный знак, что на watcom написано...

Гхм, ИМХО Dos4GW к Watcom отношение имеет весьма посредственное. Просто DOS PM exdender. Кстати если уж вдаваться в историю то у Watcom есть свой экстендер, PMW если не путаю, так замена dos4gw на него давала 15-25% экономию памяти чем я во времена голимости на память с удовольствием пользовался.

hihedge
()

Думаю, что м SGI с SUNом никуда не денутся. Это только вопрос времени. Двух-трех лет, не больше.

yoush
()

Не, до ГЦЦ ему срать и срать. Я аробовал играть в Heretic для доса на замечательной тачке - 386DX 40 + FPU ;) Играть можно было, но тормоза наблюдались заметные. Тот же Еретик, но под линух, скомпиленный ГЦЦ с максимальной оптимизацией, включая и -malign-xxx=2, работал очень даже хорошо! Подтормаживал немного только при обращении к винту. Вот так вот ;)

anonymous
()

> у Watcom есть свой экстендер, PMW если не путаю, так замена dos4gw на него давала 15-25% экономию памяти чем я во времена голимости на память с удовольствием пользовался.

Если не ошибаюсь, речь идет о pmode/w by Daredevil&Tran. Вещь. Оно не только память экономило, но было раз в 10 меньше по размерам и давало прирост по скорости. Помню-помню, золотые были времена.

Obidos ★★★★★
()

2yoush

ну это еще бабушка надвое...

а некоторые (не буду показывать пальцем) вообще считают что бабаяновская команда влезла в тупиковую архитектуру, один "пшик" с Трансметой чего стоит :-)

да и я хоть один с вами вуз кончал (или вы еще не кончили? :-)) но больше склоняюсь к тому, что хоть и "параллелизм безграничен" но надо работать над уровнем MPP, и, как мне кажется, веточка PowerPC развивает, надо сказать успешно, именно это направление. Посмотрим, кто будет прав.

dea
()

2dea

А MPP никто не отменяет. На тех приложениях, где есть крупные независимые куски. Но не вместо VLIW, а вместе с ним.

По-моему, концепция VLIW очень стройная и красивая. В процессоре - ничего лишнего. Простая и прозрачная архитектура. 100% предсказуемость (кстати о realtime). Полный контроль программы над аппаратурой. Простор для глобального анализа программ и оптимизации.

Хотя и сложностей хватает.

Я думал попробовать составить спецкурс на этот счет (я уже несколько лет работаю на факультете). Может, когда-нибудь и дойдут до этого руки... хотелось бы.

yoush
()

>А MPP никто не отменяет. На тех приложениях, где есть крупные независимые куски.

ну уж нет! тогда пользы от этого как от козла молока, и IBM это понимает

>Но не вместо VLIW, а вместе с ним.

давайте не будем гнаться за двумя зайцами, сколько там Itanium жрет? куда уж там разместить четыре ядра на кристалле!!!

>По-моему, концепция VLIW очень стройная и красивая. В процессоре - ничего лишнего. Простая и прозрачная архитектура. 100% предсказуемость (кстати о realtime). Полный контроль программы над аппаратурой. Простор для глобального анализа программ и оптимизации.

О! эти слоганы я давно уже слышу... но что-то сомнительно, а realtime тут за уши притянут, это я со всей ответственностью могу сказать.

>Хотя и сложностей хватает.

вот это-то и хотелось узнать поподробнее, а эльбрусовскую лапшу с ушей снимать надоело

>Я думал попробовать составить спецкурс на этот счет (я уже несколько лет работаю на факультете). Может, когда-нибудь и дойдут до этого руки... хотелось бы.

вот вы и помогите понять что с этого реально можно поиметь

dea
()

Значит так братцы Watcom не умирал, по крайней мере у меня, просто он был забыт его производителем, не умерал в руках нуждающихся потому-что он классный компилер. Давайте вспомник откуда ноги растут. Watcom с незапямятных времен использовался (как штатное средство) в QNX. Это ОСРВ ( для негорамотных расшифрую операционная система реального времени ).Эта ос Больших денег стоила тогда и применялась на ядреных станциях естественно в реалном режиме работала и непростаивала по самые неболуйся. И стабильность и скорость там нужны как ни где. Поэтому Watcom породистый компилер таким он был таким он и остался. Я со времен института лучшиего компилятора в своей нише не встричал. Кто-то говорил что оптимизация не нужна... Флаг ему в руки и паровоз на встречу... Только пусть потом не обижается, когда игры тормозят и Оски всякие там по пол дня грузятся. в 11.0с доработали (по сравнению с 11.0 он тепер сраный вижул уделывает в полтора раза. Я взял один мат алгоритм и прокрутил его 2^24 раз при параметрах оптимизации -otexan время работы 42с. А алгортм отнюдь не простое умножение. Visual 68c. И кто поле этого ненужен????

luckskyw
()
Ответ на: комментарий от dea

> > А MPP никто не отменяет. На тех приложениях, где есть
> > крупные независимые куски.
> ну уж нет! тогда пользы от этого как от козла молока, и IBM это > понимает

Что-то я перестаю понимать ...
Если речь идет о массовом параллелизме (кажется так переводится MPP), то на каково же условие эффективного применения таких систем, если не сформулированное выше ?..

> куда уж там разместить четыре ядра на кристалле!!!

А причем тут четыре ядра на кристалле? Это к VLIW никакого отношения не имеет.
Напоминаю - VLIW - такая архитектура, когда в процессоре имеется несколько функциональных устройств, и каждая машинная команда содержит явно операцию для каждого из них. Аппаратуре остается только в точности выполнить указания, не проводя вообще накакого анализа. Из-за этого аппаратура становится очень простой и может работать с жуткой скоростью. Анализ, отслеживание зависимостей и формарование широких команд становится задачей компилятора.

А в Итануим, извините, кроме полуVLIW процессора еще и аппаратный эмулятор x86 вставили.

> realtime тут за уши притянут

А как же TMS и прочие специализированные VLIW процессоры?

Потом, что, есть сомнения в том, что предсказуемость поведения процессора жизненно важно для realtime приложений?

> О! эти слоганы я давно уже слышу...

Насколько я знаю, первое увлечение VLIW архитектурой было в начале 80x, но тогда народ сломался о проблемы компиляции. После этого акцент сместился в сторону, а вопросы компиляции - в научные лаборатории. За прошедшие 20 лет в этой области имеются крупные прорывы (за подробностями еще раз отсылаю на www.trimaran.org).

Предлагаю перейти на e-mail. yoush@cs.msu.su.

yoush
()

2yoush >Предлагаю перейти на e-mail. yoush@cs.msu.su. ОК

2luckskyw

очень много интересного про QNX ;-))) одна маленькая деталь - QNX От Watcom уже отказалась, и давно это было... про ядерные станции тоже интересно, но realtime и оптимизация кода по скорости вещи мягко говоря разные, если линуксоиди, виндусоиды и т.д. познакомятся с производительностью ОСРВ то им станет грустновато.

то что Watcom хорошо оптимизировал в свое время, я прекрасно знаю, до сих пор его использую, но - на встроенной системе с Amd5x86.

насчет "сраного вижула" то уделывал он Watcom еще с 5 версии, насчет 11c не скажу, но было бы интересно поглядеть как на программу, так и на ключи оптимизации от M$, так и на платформу, где все это работало. А так - я могу какие угодно результаты слепить.

dea
()
Ответ на: комментарий от dea

Косаемо платформы скажу следующее 2хPIII600 512Mб но реально и в том и в другом случае использовался в каждый момент времени 1 проц

luckskyw
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.