blob: 367c1254283bf7f404de321b34d0f2168e80783e [file] [log] [blame]
Dan Willemsen9862c2a2016-09-30 19:42:53 -07001// Copyright 2016 Google Inc. All rights reserved
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Koichi Shiraishidf8cd052016-09-06 15:05:35 +090015// +build ignore
16
Dan Willemsen9862c2a2016-09-30 19:42:53 -070017#include <benchmark/benchmark.h>
18#include <cstdio>
Dan Willemsen3ce083f2017-10-11 22:17:48 -070019#include "fileutil.h"
Dan Willemsen9862c2a2016-09-30 19:42:53 -070020
21static void BM_RunCommand(benchmark::State& state) {
Dan Willemsen064be222016-09-30 20:17:14 -070022 std::string shell = "/bin/bash";
23 std::string shellflag = "-c";
Dan Willemsen9862c2a2016-09-30 19:42:53 -070024 std::string cmd = "echo $((1+3))";
25 while (state.KeepRunning()) {
26 std::string result;
Dan Willemsen064be222016-09-30 20:17:14 -070027 RunCommand(shell, shellflag, cmd, RedirectStderr::NONE, &result);
Dan Willemsen9862c2a2016-09-30 19:42:53 -070028 }
29}
30BENCHMARK(BM_RunCommand);
31
32static void BM_RunCommand_ComplexShell(benchmark::State& state) {
Dan Willemsen064be222016-09-30 20:17:14 -070033 std::string shell = "/bin/bash ";
34 std::string shellflag = "-c";
Dan Willemsen9862c2a2016-09-30 19:42:53 -070035 std::string cmd = "echo $((1+3))";
36 while (state.KeepRunning()) {
37 std::string result;
Dan Willemsen064be222016-09-30 20:17:14 -070038 RunCommand(shell, shellflag, cmd, RedirectStderr::NONE, &result);
Dan Willemsen9862c2a2016-09-30 19:42:53 -070039 }
40}
41BENCHMARK(BM_RunCommand_ComplexShell);
42
43BENCHMARK_MAIN();