|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vitaliy Bochcarev 2:5020/175.2 05 Feb 2002 17:21:11 To : Andrew Doroshev Subject : Re: таки вpащение -------------------------------------------------------------------------------- >> Тpебyется алгоpитм сабжа, более скоpостной, чем матpица повоpота. >> >> И еще, синyс и деления, я так понимаю, жpyт тики? Если сpазy хpанить >> значение синyса (в пpинципе постоянное) и вместо x*sin(a/b) писать >> x*sinvalue, пpоцесс сильно yбыстpится? AD> //------------------ кут хере -------------------------------- AD> Table C-6 IA-32 x87 Floating-point Instructions AD> Instruction Latency Throughput Execution Unit AD> FABS 2 1 FP_MISC AD> FADD 5 1 FP_ADD .... AD> //------------------ кут хере -------------------------------- AD> Как видно, умножение занимает 2 такта, не пожалели транзисторов. AD> Деление - 23,38,43, в зависимости от точности. AD> Синус - 130. А если ещё избавиться от операций с плавающей точкой, то можно ещё на порядок увеличить скорость. Ведь в конечном итоге нам необходимо получить целочисленную координату, тогда вместо х*0,758645 можно будет записать (х*758645)/1000000, т.е. значения синуса сразу умножать на некое число, а затем делить. Если в качестве такого множителя взять степень двойки, то вместо умножения/деления можно использовать битовый сдвиг, будет ещё быстрее. Люблю, когда пиво правильное. Вот Бочкарёв - правильное пиво. --- ifmail v.2.15 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/330017f711d8.html, оценка из 5, голосов 10
|