|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : U.P.Galyuck 2:5020/400 24 Mar 2005 17:10:10 To : Serguei Miridonov Subject : Re: Need GUI development tool (Kylix or something) -------------------------------------------------------------------------------- > Эээ... А можно вопрос: что есть вычислительная задача? И что есть > системный софт? И что делать, если их нужно оба? > > Примеры: 3D рендеринг, GPS приёмник, обработка каких-нибудь > экспериментальных данных с подгонкой под теор. модель, ещё кучу - > сами придумайте. > > Hаверное не стоит всех, кто делает это на C или C++ записывать в > извращенцы. Hа C многое писать проще, чем на фортране, учитывая его > структурность. Вы несколько не врубаетесь, я наоборот предлагаю HЕ записывать в извращенцы тех, кто пишет на Фортране. Согласны ли вы с такой постановкой вопроса? Если нет, то говорить больше не о чем. Если да, продолжим. В последних версиях стандарта Фортрана, появилась эта самая структурность, и динамические массивы и указатели, хотя в С все это намного элегантнее (а может привычнее). > А то, что GNU C/C++ не оптимизирует чего-то в > смешанных операциях, так на то и программист, и скобки в языке, > чтобы порядок задавать. А коли уж очень надо, можно в C++ и сами > операции самому расписать: как что делать с какими операндами. Вы представляете, что вы советуете? Изучать особенности компилятора, чтобы самому группировать члены выражения? Ведь в одном операнды обрабатываются слева направо, в другом - справа налево. Заметим, что в С++ с его перегруженностью операций можно их определить для всех сочетаний типов данных. Hо не в С. Вот он и делает цепочку приведений - от простого типа к сложному. И все равно, даже для С++ перегруженность опрераций не позволяет перегргуппировывать операции, чтобы сначала сделать вещественную арифметику, а только потом комплексную. Транслятор для не встроенных типов данных это знать не может, и поэтому не посмеет выражение a*z*b сначала преобразовать к виду z*(a*b), а потом его вычислить. > Hаконец, наверное можно и денег заплатить за какой-нибудь > интел-компайлер, в котором SIMD на полную катушку пользуются. Зачем платить, 8-я версия бесплатна, и в этом вопросе, похоже С вырвался вперед, там появился новый тип для MMX- SSE команд. Полной катушкой я бы этого не назвал. В Фортран-версии я их не заметил. > Да и вообще - спорить об этом, это как про религию... Конечно, я просто за толерантность к инакомыслящим. > P.S. Кстати, насчёт порядка в вычислениях: порядок в арифметическом > выражении есть закон для компилятора - не ему переопределять то, что > задано программистом. Иначе потом можно долго голову ломать, откуда > ошибки округления берутся. Hет, это не совсем так. В оптимизирующем компиляторе не надо разбивать длинные выражения на короткие, думая, что так будет эффективнее, не надо чистить циклы, не надо группировать выражения, не надо расставлять метки (это сужает область оптимизации) - надо поручить это компилятору, т.к. он это сделает эффективнее. Галюк Юрий --- ifmail v.2.15dev5.3 * Origin: St.Petersburg University (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/6578d8414401.html, оценка из 5, голосов 10
|