Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : U.P.Galyuck                          2:5020/400     30 Mar 2005  15:07:01
 To : Serguei Miridonov
 Subject : Re: Need GUI development tool (Kylix or something)
 -------------------------------------------------------------------------------- 
 
 > 4. Учитывая (2) и (3) можно сказать, результат вычислений с
 > несколькими операндами практически неизбежно будет зависеть от
 > порядка промежуточных вычислений. За примером даже не надо ходить в
 > сторону комплексных чисел, достаточно поскладывать группы чисел,
 > одни из которых много больше других.
 
     Это безусловно верно.
 
 > 5. Языки высокого уровня обычно могут использоваться на машинах с
 > разной архитектурой, в связи с этим желательно, чтобы алгоритмы
 > разработанные под решение, в некотором смысле, универсальных задач
 > (решение дифф. уравнений, интегрирования и многие другие) тоже были
 > портируемыми, т.е. результаты вычислений не сильно бы зависели от
 > архитектуры, а также - чтобы разработанные алгоритмы сохраняли
 > устойчивость при переходе с одной машины на другую. Кроме этого,
 > необходимо чтобы выполнение алгоритмов не сильно зависело и от
 > компилятора.
 
     Подойдите ко всему этому с практической точки зрения - если результат
 сильно зависит от транслятора, типа машины и т.д., то он (алгоритм) просто
 не верен. Типа как немножко забеременеть. Меры достижения стабильности
 хорошо известны - повышение точности промежуточных результатов, расшивка
 окрестности особых точек, и т.д. Стабильно же неверный результат никому не
 нужен.
 
 > >     Поясняю, что имеется в виду. Пусть требуется поделить два числа
 
 z=x/y.
 
 > > Если числа вещественные, то это делается в одну операцию. При
 
 комплексной
 
 > > реализации той же операции, числитель и знаменатель домножаются на
 > > комплексно сопряженное знаменателю, после чего происходит операци
 
 деления. С
 
 > > математической точки зрения делается z=x*y/y**2 (мы учитываем наличие
 > > нулевых мнимых частей). Ясно, что второй вариант потенциально опаснее с
 > > точки зрения переполнения, и если компилятор сумел избежать лишних
 > > вычислений, то он молодец. Отсюда и следует, что оптимизация выражений
 > > расширяет диапазон исходных данных.
 >
 > Вопрос: а _обязан_ ли компилятор заниматься оптимизацией? Откуда ему
 > знать, будет ли нулевой мнимая часть чего-то во время выполнения?
 
     Так он и не знает, просто вычисления связанные с умножением на ноль я не
 выписывал. Главное - в вынужденности возведения в квадрат знаменателя. Hо
 вот то, что у действительных чисел нет мнимой части компилятор знает точно.
 
 > Если так рассуждать, то Вы скоро вмените в обязанность компилятору
 > вызывать алгоритм сортировки чисел перед сложением.
 
     Хороший компилятор - обязан заниматься оптимизацией, если его об этом
 попросят. Если компилятор сможет выполнить сортировку на стадии компиляции,
 уменьшив объем вычислений на стадии выполнения - флаг ему в руки. Кстати, с
 константами он нечто подобное делает, т.к. их свойства заранее известны.
 
 > >     Да, а что, есть в стандарте запрет на оптимизацию выражений? Где это
 > > написано?
 >
 > Hаписано про регламентированный порядок вычислений. Ссылку я
 > приводил в одном из моих предыдущих постингов, но Вы её проигнорировали.
 >
 > Оптимизация же допускается, однако если это отступление от
 > стандарта, то это должно быть отражено в мануале на компилятор и
 > включаться явно: опцией, а ещё лучше - прагмой, потому, как в одной
 > части алгоритма это может быть приемлемо, а в другой - нет.
 
     А что, кто-то против этого возражал?
 --- ifmail v.2.15dev5.3
  * Origin: St.Petersburg University (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   23 Mar 2005 21:15:04 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   24 Mar 2005 17:10:10 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   24 Mar 2005 19:12:03 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   24 Mar 2005 20:06:19 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   25 Mar 2005 01:29:34 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   25 Mar 2005 17:56:18 
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   25 Mar 2005 21:08:15 
 Re: Need GUI development tool (Kylix or something)   Eugene B. Berdnikov   26 Mar 2005 00:08:02 
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   26 Mar 2005 02:12:40 
 Re: Need GUI development tool (Kylix or something)   Eugene B. Berdnikov   27 Mar 2005 04:08:25 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   30 Mar 2005 15:07:01 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   26 Mar 2005 00:49:32 
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   24 Mar 2005 19:52:07 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   24 Mar 2005 20:23:58 
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   24 Mar 2005 21:39:18 
 Re: Need GUI development tool (Kylix or something)   Eugene B. Berdnikov   25 Mar 2005 01:08:23 
 Re: Need GUI development tool (Kylix or something)   Ilya Anfimov   25 Mar 2005 01:31:35 
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   25 Mar 2005 01:47:47 
 Re: Need GUI development tool (Kylix or something)   Eugene B. Berdnikov   25 Mar 2005 21:08:15 
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   25 Mar 2005 22:03:42 
 Re: Need GUI development tool (Kylix or something)   Eugene B. Berdnikov   26 Mar 2005 00:08:02 
 Re: Need GUI development tool (Kylix or something)   Serguei Miridonov   26 Mar 2005 02:25:45 
 Re: Need GUI development tool (Kylix or something)   U.P.Galyuck   30 Mar 2005 15:07:02 
 Re: Need GUI development tool (Kylix or something)   Nick Voronin   30 Mar 2005 19:02:00 
 Re: Need GUI development tool (Kylix or something)   Dmitry Ponyatov   24 Mar 2005 21:22:00 
Архивное /ru.linux/6578d2061df7.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional