15int main (
int argc,
char *argv []) {
16 if (argc <= 1 || argv[1]==std::string(
"-h")) {
17 std::cout <<
"Usage: trigconf_string2hash [IDENT] [-f FILE] [-t THREADS] [-r REPEAT]" << std::endl;
18 std::cout <<
" convert identifier to hash" << std::endl;
19 std::cout <<
" -f file with hashes produced by hashes2file" << std::endl;
20 std::cout <<
" -t number of threads" << std::endl;
21 std::cout <<
" -r number of times the file should be processed" << std::endl;
29 for (
int i=1; i<argc; ++i) {
30 if (std::string(argv[i])==
"-f") {
33 else if (std::string(argv[i])==
"-t") {
34 nthreads = std::atoi(argv[i+1]);
36 else if (std::string(argv[i])==
"-r") {
37 N = std::atoi(argv[i+1]);
48 auto t1 = high_resolution_clock::now();
49 if (!filename.empty()) {
57 std::cout <<
"Launching " << nthreads <<
" threads reading file each "
58 << N <<
" times" << std::endl;
59 std::vector<std::thread> threads;
60 for (
size_t i = 0; i<nthreads; ++i) threads.emplace_back(
run);
61 for (
auto& thr : threads) thr.join();
64 auto t2 = high_resolution_clock::now();
65 std::cout << duration_cast<milliseconds>(t2 - t1).count() <<
" ms" << std::endl;