Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zasadadada
-27 / 8 / 1
Регистрация: 03.05.2013
Сообщений: 482
#1

Скорость работы функции pow - C++

07.07.2015, 18:18. Просмотров 374. Ответов 4
Метки нет (Все метки)

В программе цикл, который вызывается примерно 50 000 в секунду. В каждой итерации ещё цикл от 1 до 100 повторов. В каждой итерации вызывается 2 раза функция pow. Загрузка процессора 60 процентов при втором цикле 100 повторов. Если убрать функцию pow то нагрузка падает до 9 процентов. Есть ли какие то трюки по ускорению работы функции? Использую опцию qpar.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 18:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скорость работы функции pow (C++):

при вызове функции pow() выдаёт ошибку: test.cpp:(.text+0x59b): undefined reference to `pow' - C++
В чём дело? Добавлено через 1 минуту ps. Заголовок math.h подключен.

Скорость работы функции - C++
Требуется измерить скорость работы функции "func". При этом измерение должно производиться в течении только TIME_TEST секунд. Для такого...

Использование функции pow - C++
int x,z,h; z=38; cin>>x; h=pow(z,x); cout<<h; getch(); если даю 1,2,3,4,5,6 как Х, то программа работает, если даю больше 10,...

Вопрос по функции POW - C++
есть 2 переменные double first; unsigned int second; Хочу сделать pow (second, first); Компилятор ругается : IntelliSense:...

Pow не работает в функции - C++
void gip(int &a, int &d); int main() {int a,d; cin>>a; gip(a,d); _getch(); return 0; }

Некорректная работа функции pow - C++
Доброго времени суток. задали в универе написать прогу которая решала б кубическое уравнение.В расчетных формулах использовал функцию pow...

4
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,068
Завершенные тесты: 1
07.07.2015, 18:23 #2
для каких вычислений используется pow? дробные числа?
0
zasadadada
-27 / 8 / 1
Регистрация: 03.05.2013
Сообщений: 482
07.07.2015, 18:26  [ТС] #3
да, double.
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,068
Завершенные тесты: 1
07.07.2015, 18:33 #4
есть упрощенная и приближенная замена функции pow , но не знаю насколько точные вам нужны результаты

C++
1
2
3
4
5
6
7
8
9
inline double fastPow(double a, double b) {
  union {
    double d;
    int x[2];
  } u = { a };
  u.x[1] = (int)(b * (u.x[1] - 1072632447) + 1072632447);
  u.x[0] = 0;
  return u.d;
}
1
zasadadada
-27 / 8 / 1
Регистрация: 03.05.2013
Сообщений: 482
07.07.2015, 18:44  [ТС] #5
спасибо в 2 раза быстрее.
0
07.07.2015, 18:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2015, 18:44
Привет! Вот еще темы с ответами:

Pow: нет перегруженной функции - C++
Ошибка 2 error C2661: pow: нет перегруженной функции, принимающей 1 аргументов C:\Users\student\Desktop\Языки программирования\zada4a...

Исправить ошибку в функции pow - C++
#include "StdAfx.h" #include <iostream> #include <stdio.h> #include <conio.h> #include <string> #include <sstream> #include...

Вычислить S=2n, без функции pow() - C++
Пишу прямо,нужно проверить решение:) Вычислить S=2^n, не используя функцию pow(). Добавлено через 2 минуты #include <iostream> ...

неоднозначный вызов перегруженной функции pow - C++
Ошибка 1 error C2668: pow: неоднозначный вызов перегруженной функции 2 IntelliSense: существует более одного экземпляра перегруженная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru