Renamed timer function to now(), added perf unit test
This commit is contained in:
parent
b818799800
commit
bd176cfde2
10
src/main.cpp
10
src/main.cpp
@ -249,13 +249,11 @@ void interactive(chaiscript::ChaiScript& chai)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double getTimeInSeconds()
|
double now()
|
||||||
{
|
{
|
||||||
using namespace std::chrono;
|
using namespace std::chrono;
|
||||||
static time_point<high_resolution_clock> start = high_resolution_clock::now();
|
auto now = high_resolution_clock::now();
|
||||||
|
return duration_cast<duration<double>>(now.time_since_epoch()).count();
|
||||||
duration<double> elapsed_seconds = high_resolution_clock::now() - start;
|
|
||||||
return elapsed_seconds.count();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
@ -297,7 +295,7 @@ int main(int argc, char *argv[])
|
|||||||
chai.add(chaiscript::fun(&help), "help");
|
chai.add(chaiscript::fun(&help), "help");
|
||||||
chai.add(chaiscript::fun(&throws_exception), "throws_exception");
|
chai.add(chaiscript::fun(&throws_exception), "throws_exception");
|
||||||
chai.add(chaiscript::fun(&get_eval_error), "get_eval_error");
|
chai.add(chaiscript::fun(&get_eval_error), "get_eval_error");
|
||||||
chai.add(chaiscript::fun(&getTimeInSeconds), "getTimeInSeconds");
|
chai.add(chaiscript::fun(&now), "now");
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < argc; ++i) {
|
for (int i = 0; i < argc; ++i) {
|
||||||
|
13
unittests/performance.chai
Normal file
13
unittests/performance.chai
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
var sum = 0.0
|
||||||
|
var start = now()
|
||||||
|
for (var i = 1; i <= 100000; ++i) {
|
||||||
|
if (i % 2 == 0) {
|
||||||
|
sum += 1.0 / i;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sum += 1.0 / (double(i) * i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var end = now()
|
||||||
|
print("Elapsed time: " + to_string(end - start) + " sum: " + to_string(sum))
|
||||||
|
assert_equal(to_string(sum), "6.9322")
|
Loading…
x
Reference in New Issue
Block a user