Heim > Artikel > Backend-Entwicklung > Effizienztest für Polynomberechnungen
Polynomberechnung ruft die Bibliotheksfunktion pow-Methode und den Qin-Jiushao-Algorithmus auf. Messen wir ihre Betriebseffizienz
Berechnungsfunktion f(x)=1 (Σxi/i)(i Von 1 bis m);
Verwenden Sie die Zeitfunktion ctime, um die Laufzeit zu testen, und geben Sie x=0,9 zur Berechnung ein
#include
#include
#include
using namespace std;
double Fn1(double x);
double Fn2(double x);
#define m 1000000000
clock_t start, stop;
int main(){
double x;
x = 0.9;
start = clock();
cout << Fn1(x) << > stop = clock();
cout << double(stop - start) / CLK_TCK << - ----
start = clock();
cout << Fn2(x) << endl;
stop = Clock();
cout << double(stop - start) / CLK_TCK << endl;
return 0;
}
double Fn1(double x){
int i;
double f=1.0;
for (i = 1; i <= m; i )
f = pow(x, i)/i;
return f;
}
double Fn2(double x){
int i;
double f = 0.0;
for (i = m; i >= 1; i--) /*Qin Jiushao Polynom algorithm* /
f = f*x 1.0 / i;
return f*x 1.0;
}
Die Laufzeit ist in der Tabelle unten dargestellt
m | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 1000000 | 1000000000 |
Fn1 | 0.001 | 0.001 | 0.003 | 0.015 | 0.157 | 1.619 | 17.955 | 191.608 |
Fn2 | 0 | 0 | 0 | 0.001 | 0.005 | 0.049 | 0.472 | 4.706 |
Das Obige hat den Effizienztest von Polynomberechnungen vorgestellt, einschließlich seiner Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.