15 {
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;
22 return 1;
23 }
24
25
27 size_t nthreads = 0;
29 for (
int i=1;
i<
argc; ++
i) {
30 if (std::string(argv[i])=="-f") {
32 }
33 else if (std::string(argv[i])=="-t") {
34 nthreads = std::atoi(argv[i+1]);
35 }
36 else if (std::string(argv[i])=="-r") {
37 N = std::atoi(argv[i+1]);
38 }
39 }
40
41
42 if (argc == 2) {
44 return 0;
45 }
46
47
48 auto t1 = high_resolution_clock::now();
51 for (
size_t i=0;
i<
N;
i++) HLTUtils::file2hashes(filename);
52 };
53 if (nthreads==0) {
55 }
56 else {
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();
62 }
63 }
64 auto t2 = high_resolution_clock::now();
65 std::cout << duration_cast<milliseconds>(t2 - t1).count() << " ms" << std::endl;
66
67 return 0;
68}
std::vector< ALFA_RawDataContainer_p1 > t2
std::vector< ALFA_RawDataCollection_p1 > t1