[go: up one dir, main page]

Menu

[81dbcb]: / src / SpeedTest.cpp  Maximize  Restore  History

Download this file

43 lines (34 with data), 1.2 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <memory>
#include "SpeedTest.h"
#include "AbstractState.h"
#include "DataStructures.h"
#include "crossplatform_shared_ptr.h"
#include <time.h>
// A hack to make powerpc happy since sysClkRateGet not found
#if defined(__powerpc__)
#define CLOCKS_PER_SEC 1000
#endif
namespace CoolProp{
void compare_REFPROP_and_CoolProp(const std::string &fluid, CoolProp::input_pairs inputs, double val1, double val2, std::size_t N, double d1, double d2)
{
time_t t1,t2;
shared_ptr<AbstractState> State(AbstractState::factory("HEOS", fluid));
t1 = clock();
for (std::size_t ii = 0; ii < N; ++ii)
{
State->update(inputs, val1 + ii*d1, val2 + ii*d2);
}
t2 = clock();
double elap = ((double)(t2-t1))/CLOCKS_PER_SEC/((double)N)*1e6;
std::cout << format("Elapsed time for CoolProp is %g us/call\n",elap);
State.reset(AbstractState::factory("REFPROP", fluid));
t1 = clock();
for (std::size_t ii = 0; ii < N; ++ii)
{
State->update(inputs, val1 + ii*d1, val2 + ii*d2);
}
t2 = clock();
elap = ((double)(t2-t1))/CLOCKS_PER_SEC/((double)N)*1e6;
std::cout << format("Elapsed time for REFPROP is %g us/call\n",elap);
}
} /* namespace CoolProp */