Сколько времени сложение по сравнению с умножением? - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть два алгоритма: A() и B().Они выполняют некоторое количество арифметических операций:

A():
- n-1 сложений
- n вычитаний

B():
- n-1 сложения
- n вычитания
- n квадраты (степень 2)
- 1 квадратный корень (степень 1/2)

Я широко определилA() выполняет 2n-1 операции и B() выполняет 3n операции.Если вам интересно, A() и B() вычисляют расстояния между точками в n-пространстве, используя прямолинейные и евклидовы метрики соответственно.

Как я могу описать затраты времени выполнения каждого алгоритма?Как компьютер обрабатывает определенные арифметические операции?Скажем, сложение заняло 1 единицу времени, вычитание также.Но как насчет умножения или деления?Квадратный корень?

A() выполняет на ~ 33% меньше операций, чем B(), но это не может описать время выполнения каждой из них.Как я могу наилучшим образом приблизить время выполнения каждого к n?Я могу с уверенностью предположить, что A() на 33% быстрее, чем B(), но это слово.

...