![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
2. или просто 2 [D5, D6]
MaximatorVeter © (2002-05-18 18:36:00)Слышал, что если записать, например, вместо 2+7.35 2.+7.35 (с точкой) то вычисление займет меньше времени или ресурсов.
Действительно ли это так?
MaximatorVeter (2002-05-19 13:52:00) [1]Всем спасибо!
Mystic (2002-05-18 22:56:00) [2]Если ОЧЕНЬ надо, посмотри в ASM-код в обоих случаях. Оптимизировать подобные вещи не имеет большого смысла.
Компилятор преобразует константы к такому типу, чтобы избежать лишних операций приведения (т. е. значение 2 автоматом приведется к 2.)
Вообще дружеский совет --- не занимайся ерундой.
MaximatorVeter (2002-05-18 19:46:00) [3]Смысл в уменьшении временных затрат на вычисления.
Предполагается что под хранение в памяти 2 компилятор отведет byte (или в регист засунет), а под хранение 2.(с точкой) аж 6 байт. При вычислении в первом случаи будет сделано преобразование от байт к real, а во втором нет. Сл-но во втором случаи вычисление пройдет быстрее.
В том что я написал, не уверен, поэтому и интерисуюсь! Кто-нибудь знает?
Anatoly Podgoretsky (2002-05-18 19:39:00) [4]Второй вариант на этапе компиляции на несколько наносекунд дольше
Malder (2002-05-18 19:30:00) [5]Вопрос конечно интересный, только какой в нем смысл ?
Reindeer Moss Eater (2002-05-18 19:04:00) [6]Так сравни и не мучайся :)
MaximatorVeter (2002-05-18 18:47:00) [7]А если сравнить 2 + m и 2.+ m, где m типа real?
Reindeer Moss Eater (2002-05-18 18:41:00) [8]В большинстве случаев это посчитается еще при нажатии на F9, а во время выполнения никаких вычислений уже не будет