@@ -100,6 +100,7 @@ BENCHMARK(ArgoParser);
100
100
static void CLI11Parser (benchmark::State& state) {
101
101
for (auto _ : state) {
102
102
auto app = CLI::App{" App description" };
103
+
103
104
int arg1;
104
105
app.add_option (" --arg1" , arg1);
105
106
double arg2;
@@ -174,9 +175,8 @@ BENCHMARK(CLI11Parser);
174
175
#if argparse_FOUND
175
176
176
177
static void argparseParser (benchmark::State& state) {
178
+ auto program = argparse::ArgumentParser (" program_name" );
177
179
for (auto _ : state) {
178
- auto program = argparse::ArgumentParser (" program_name" );
179
-
180
180
program.add_argument (" --arg1" , " -a1" ).scan <' i' , int >();
181
181
program.add_argument (" --arg2" , " -a2" ).scan <' g' , double >();
182
182
program.add_argument (" --arg3" , " -a3" );
@@ -207,8 +207,37 @@ static void argparseParser(benchmark::State& state) {
207
207
program.add_argument (" --arg28" , " -a28" );
208
208
program.add_argument (" --arg29" , " -a29" );
209
209
program.add_argument (" --arg30" , " -a30" );
210
-
211
210
program.parse_args (argc, argv);
211
+ benchmark::DoNotOptimize (program.get <int >(" --arg1" ));
212
+ benchmark::DoNotOptimize (program.get <double >(" --arg2" ));
213
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg3" ));
214
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg4" ));
215
+ benchmark::DoNotOptimize (program.get <int >(" --arg5" ));
216
+ benchmark::DoNotOptimize (program.get <double >(" --arg6" ));
217
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg7" ));
218
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg8" ));
219
+ benchmark::DoNotOptimize (program.get <int >(" --arg9" ));
220
+ benchmark::DoNotOptimize (program.get <int >(" --arg10" ));
221
+ benchmark::DoNotOptimize (program.get <std::vector<std::string>>(" --arg11" ));
222
+ benchmark::DoNotOptimize (program.get <std::vector<std::string>>(" --arg12" ));
223
+ benchmark::DoNotOptimize (program.get <int64_t >(" --arg13" ));
224
+ benchmark::DoNotOptimize (program.get <double >(" --arg14" ));
225
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg15" ));
226
+ benchmark::DoNotOptimize (program.get <double >(" --arg16" ));
227
+ benchmark::DoNotOptimize (program.get <int >(" --arg17" ));
228
+ benchmark::DoNotOptimize (program.get <std::vector<std::string>>(" --arg18" ));
229
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg19" ));
230
+ benchmark::DoNotOptimize (program.get <uint8_t >(" --arg20" ));
231
+ benchmark::DoNotOptimize (program.get <double >(" --arg21" ));
232
+ benchmark::DoNotOptimize (program.get <std::vector<std::string>>(" --arg22" ));
233
+ benchmark::DoNotOptimize (program.get <int >(" --arg23" ));
234
+ benchmark::DoNotOptimize (program.get <int >(" --arg24" ));
235
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg25" ));
236
+ benchmark::DoNotOptimize (program.get <int >(" --arg26" ));
237
+ benchmark::DoNotOptimize (program.get <std::vector<std::string>>(" --arg27" ));
238
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg28" ));
239
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg29" ));
240
+ benchmark::DoNotOptimize (program.get <std::string>(" --arg30" ));
212
241
}
213
242
}
214
243
0 commit comments