parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Мат. функции, циклы и оптимизация

MadCow 12.03.2008 07:05

Есть задача:
необходимо произвести многократные вычисления по формуле
$res(	
	20 * 
	^math:log(
		($L * ^math:cos($a - ^math:atan($h / $x)) * ^math:cos(^math:atan($y / $h)) ) / 
		( 
			(1 + $k * ^math:pow(^math:sin($a - ^math:atan($h / $x);2) ) * 
			(1 + $k * ^math:pow(^math:sin(^math:atan($y / $h);2) ) * 
			^math:sqrt($x*$x + $y*$y + $h*$h) 
		)
	) / 
	^math:log(10) + 
	94 - $n
)	
Вычисления могут производиться несколько десятков тысяч раз (предел не обозначен условием).

Какими способами можно оптимизировать программу вычисления, чтобы сократить время выполнения?

Вопрос касается построения самого парсера, т.к. не совсем понятно какие преобразования приведут к увеличению времени, а какие наоборот.
(чтобы пояснить о чем речь, могу сослаться на постскриптум в примере про IP<=>Long Int http://www.parser.ru/examples/int-ip/ Там как раз на подобный ньюанс обращается внимание)