|
|
@ -50,10 +50,10 @@ |
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <array>
|
|
|
|
#include <chrono>
|
|
|
|
#include <cstdio>
|
|
|
|
#include <cstdlib>
|
|
|
|
#include <cstring>
|
|
|
|
#include <ctime>
|
|
|
|
#include <iostream>
|
|
|
|
#include <memory>
|
|
|
|
#include <sstream>
|
|
|
@ -1104,27 +1104,13 @@ int cmcmd::ExecuteCMakeCommand(std::vector<std::string> const& args, |
|
|
|
if (args[1] == "time" && args.size() > 2) { |
|
|
|
std::vector<std::string> command(args.begin() + 2, args.end()); |
|
|
|
|
|
|
|
clock_t clock_start; |
|
|
|
clock_t clock_finish; |
|
|
|
time_t time_start; |
|
|
|
time_t time_finish; |
|
|
|
|
|
|
|
time(&time_start); |
|
|
|
clock_start = clock(); |
|
|
|
int ret = 0; |
|
|
|
auto time_start = std::chrono::steady_clock::now(); |
|
|
|
cmSystemTools::RunSingleCommand(command, nullptr, nullptr, &ret); |
|
|
|
auto time_finish = std::chrono::steady_clock::now(); |
|
|
|
|
|
|
|
clock_finish = clock(); |
|
|
|
time(&time_finish); |
|
|
|
|
|
|
|
double clocks_per_sec = static_cast<double>(CLOCKS_PER_SEC); |
|
|
|
std::cout << "Elapsed time: " |
|
|
|
<< static_cast<long>(time_finish - time_start) << " s. (time)" |
|
|
|
<< ", " |
|
|
|
<< static_cast<double>(clock_finish - clock_start) / |
|
|
|
clocks_per_sec |
|
|
|
<< " s. (clock)" |
|
|
|
<< "\n"; |
|
|
|
std::chrono::duration<double> time_elapsed = time_finish - time_start; |
|
|
|
std::cout << "Elapsed time (seconds): " << time_elapsed.count() << "\n"; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
|
|
|
|