The power of GNU !
Nov. 5th, 2003 07:57 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Обалдеть... Решил побаловаться и сравнить GCC (вернее G77, компилятор фортрана из GCC) с Intel Fortran Compiler... на своей программе... Включил максимум оптимизации и там и там...
Фишка в том, что и при этом GCC генерирует более быстрый код для родного Интелу пентиума 4, чем IFC !
для интела
ifc -O3 -xW -w90 -w95 -pad
time: user 0m1.200s
и для GCC
g77 -O99 -funroll-loops -malign-double -fstrength-reduce -fexpensive-optimizations -march=pentium4 -ffast-math
time: user 0m1.170s
Не на много, правда, но быстрее. 30 миллисекунд на 2.5 GZ процессоре -- это все-таки не так уж и мало... -ffast-math, насколько я понимаю, соответствует, примерно, тому, что Intel делает по умолчанию...
Вот так-то... Это к нашей недавней дискуссии с
evd_ru о свободе и качестве...
Эх, нельзя мне себя допускать до компьютера с двумя компиляторами... пол часа развлекался... ;-)
Фишка в том, что и при этом GCC генерирует более быстрый код для родного Интелу пентиума 4, чем IFC !
для интела
ifc -O3 -xW -w90 -w95 -pad
time: user 0m1.200s
и для GCC
g77 -O99 -funroll-loops -malign-double -fstrength-reduce -fexpensive-optimizations -march=pentium4 -ffast-math
time: user 0m1.170s
Не на много, правда, но быстрее. 30 миллисекунд на 2.5 GZ процессоре -- это все-таки не так уж и мало... -ffast-math, насколько я понимаю, соответствует, примерно, тому, что Intel делает по умолчанию...
Вот так-то... Это к нашей недавней дискуссии с
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Эх, нельзя мне себя допускать до компьютера с двумя компиляторами... пол часа развлекался... ;-)
no subject
Date: 2003-11-06 02:45 am (UTC)Это все к тому, что физ/мат, наверное, первые люди, которые начали пользоваться GNU для работы etc, и уже успели кучу софта написать, при этом достаточно качественного, в силу характера, который нужен для такой деятельности :)
С GNU, как мне кажется, основные проблемы начинаются, когда им пытаются решать обычные пользовательские задачи.
Действительно классно !
Date: 2003-11-06 05:12 am (UTC)Кстати, в разработке GCC (http://gcc.gnu.org/) именно Richard Stallman (http://www.stallman.org/) играл основопологающую роль. Он заложил там очень нетрадиционную архитектуру, заимствованную из его более раннего проэкта Emacs (http://www.gnu.org/software/emacs/emacs.html) (написанном практически полностью Stallman-ом)... GCC, фактически, является программной платформой внутри платформы, внутри там очень многое работает под интерпретатором LISP, как, например, этот кусок (http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/k6.md?rev=1.1.10.4&content-type=text/x-cvsweb-markup) модуля для переупорядочения инструкций (intruction scheduling) -- чистый LISP. Позволяя добиться невиданной гибкости в генерации кода. Именно благодаря этой гибкости GCC не просто генерирует код для одного единственного процессора как IFC, а для вот такенного списка процессоров и операционных систем (http://gcc.gnu.org/install/specific.html); поддерживает не один единственный язык, а компилирует с вот такенного списка языков (http://gcc.gnu.org/frontends.html) с одинаковым (хорошим, как говорит моя иллюстрация) качеством генерируемого кода.
Да мы успели уже кучу софта написать... ;-) Но, действительно, работы там еще много осталось...
Ситуация с офисными продуктами очень сильно улучшается. С появлением и стабилизацией KOffice (http://www.koffice.org/) и OpenOffice (http://www.openoffice.org/), я-бы сказал, все-же, что проблема перешла из технической плоскости (офис нужно было сначала написать) в плоскость раскрутки (нужно, чтобы народ выбирал свой офисный софт осмысленно, а не просто тупо ставил MS Office)...
Проблемы начинаются когда в офисе пытаются совместить MS Office и KOffice (или OpenOffice), при этом (в силу некоторых психолигических факторов) для описания одной и той-же проблемы говорят, что не "MS Office несовместим с KOffice", а что "KOffice несовместим с MS Office". Так что проблема здесь уже в плоскости раскрутки... Технически KOffice содержит все, что нужно для решения "обычных пользовательских задач".
К.Л.М.
Re: Действительно классно !
Date: 2003-11-08 05:36 am (UTC)А по поводу того, что лучше — время покажет.
Между прочим, про RedHat: поговорил с одним моим крайне компетентным в этой области соратником; он высказал мнение, что они вполне имеют право, так как в то время, когда корпоративный сектор рассматривал линукс лишь как игрушку, они вливали совершенно нереальные по тем временам суммы не только в разработку, но и в развитие коммьюнити. Да и Торвальдса из инженера сделали миллионером подарив ему после IPO неплохой пакет акций. Так что, похоже, все ok.
Верно.
Date: 2003-11-08 07:52 am (UTC)Да и миллионером Торвальдса Redhat сделал только на бумаге... Начальная цена акций была 14, во время IPO она выросла в три раза (получился миллион) но продавать-то акции после IPO несколько лет нельзя... потом цена акций быстро упала (http://quotes.nasdaq.com/quote.dll?page=charting&mode=basics&intraday=off&timeframe=5y&charttype=&splits=off&movingaverage=none&lowerstudy=&comparison=off&index=&drilldown=off&symbol=RHAT&selected=RHAT) до 3-х, и до сих пор меньше 14-ти... Бумажных миллионеров во времена технологических IPO много родилось...
Торвальдс не бедствует, конечно... Но его многомиллионы -- это из области фантастики... Сделал он для Linux много, но Linux он не владеет. Работает инженером на Transmeta... В реальности от того, что изначально написал Торвальдс сейчас в ядре очень мало осталось... Все было сто раз переписано другими людьми... Linux не единственная Свободная ОС, мне, например, GNU Hurd (http://www.gnu.org/software/hurd/hurd.html), кажется очень перспективным (долго обьяснять почему, но, грубо говоря, у Hurd более продуманный дизайн, чем у Linux)... Думаю переключиться на него как только там дело дойдет, хоть до какого-нибудь промежуточного логического конца... Тем более ядро -- это очень и очень малая часть ОС, замена ядра (как, например, мой потенциальный переход на Hurd) пройдет вообще для меня, как пользователя, практически незаметно...
Суммы по тем временам Redhat вливал очень реальные... До распада высокотехнологической финансовой пирамиды и падения NASDAQ инвесторы вели себя как стадо баранов, вкладывая во все, что хоть как-то имело в своем названии заумные "технологичные" слова (и я с этого тоже, каким-то боком поимевывал, а как-же... "мозги" там всякие, "электронные"... все тогда...). Денег во все, связанное с программированием и компьютерным железом, тогда было вброшено больше, чем эта отрасль способна была потратить... девать зелень было просто некуда... Давали под такие "проЖекты", что мама рОдная...
По прошествии некоторого времени реальность взяла свое, и пирамида распалась... Сейчас многие программные компании с трудом сводят концы с концами, ищут дешевую рабочую силу и халяву по всему миру (меня уже задолбали, например, предложениями выпустить JEL (http://galaxy.fzu.cz/JEL) под LGPL, даже виртуальные Свободные проэкты создают, и пишут -- мы-ж твои братЫ по Free Software -- дай, дай, дай... на халяву дай...), и инвесторов в софтверный бизнес нынче заманить далеко не просто... Прошли те времена...
Но веселья тогда было хоть отбавляй... Щас тоже, конечно, немало, но чуть-чуть другого сорта...
К.Л.М.
P.S. Заслуги Торвальдса я преуменьшать не хочу, реальные заслуги, и они немалые. Другое дело, что раскрутка приписала ему массу заслуг виртуальных. Политика была такая, что Торвальдса раскрутили, в первую очередь коммерческие компании, из-за его более мягких и толерантных политических взглядов в противовес Сталлману. Реально, в создании ОС ядро -- это мизер, основное там -- библиотеки, компилятор, просто пользовательский софт. Да и вообще, идея создания Свободной ОС принадлежит Сталлману. Просто Сталлман решил начать создание ОС с философии, организации, компилятора, и прикладных программ (shell, например, без которой никак)... Когда это дело уже было практически завершено, на сцену вышел Торвальдс с первыми версиями своего ядра. Потому, чтобы правильно отразить перепетии истории, и учесть пропорционально вклад всех, кто вложил свой труд в это нелегкое дело, Linux следует полностью называть "GNU/Linux", а Hurd, соответственно, "GNU/Hurd".