replace expensive time(NULL) calls with fast std::chrono (which is more reliable as well, since it's monotonic)
some printing changes