Фиксация времени выполнения программы
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
#define M_PI 3.14159265358979323846
|
#define M_PI 3.14159265358979323846
|
||||||
|
|
||||||
|
|||||||
14
src/main.cpp
14
src/main.cpp
@@ -103,6 +103,8 @@ int main() {
|
|||||||
double step_count = 0; // Счетчик числа шагов
|
double step_count = 0; // Счетчик числа шагов
|
||||||
double it_count = 0; // Счетчик числа итераций метода Ньютона
|
double it_count = 0; // Счетчик числа итераций метода Ньютона
|
||||||
int counter = 0; // Счетчик числа шагов
|
int counter = 0; // Счетчик числа шагов
|
||||||
|
|
||||||
|
auto start = std::chrono::steady_clock::now();
|
||||||
while (t_cur < T) {
|
while (t_cur < T) {
|
||||||
bool is_end = false; // Индикатор завершения итераций метода Ньютона
|
bool is_end = false; // Индикатор завершения итераций метода Ньютона
|
||||||
size_t n = 0; // Счетчик числа итераций метода Ньютона
|
size_t n = 0; // Счетчик числа итераций метода Ньютона
|
||||||
@@ -163,14 +165,18 @@ int main() {
|
|||||||
counter++;
|
counter++;
|
||||||
step_count += dt;
|
step_count += dt;
|
||||||
it_count += n;
|
it_count += n;
|
||||||
cout << counter << " n_it=" << n << " t=" << t_cur << endl;
|
//cout << counter << " n_it=" << n << " t=" << t_cur << endl;
|
||||||
if (cur_delta < EPS_MIN) {
|
if (cur_delta < EPS_MIN) {
|
||||||
dt *= 2;
|
dt *= 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cout << "Число шагов по времени: " << counter << endl;
|
auto end = std::chrono::steady_clock::now();
|
||||||
cout << "Средний шаг по времени: " << step_count / counter << endl;
|
auto sec = std::chrono::duration<double>(end - start);
|
||||||
cout << "Среднее число итераций: " << it_count / counter << endl;
|
|
||||||
|
std::cout << "Time: " << sec.count() << " sec\n";
|
||||||
|
cout << "Time steps: " << counter << endl;
|
||||||
|
cout << "Average step by time: " << step_count / counter << endl;
|
||||||
|
cout << "Average iteration count: " << it_count / counter << endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user