File tree Expand file tree Collapse file tree 3 files changed +540
-0
lines changed
Expand file tree Collapse file tree 3 files changed +540
-0
lines changed Original file line number Diff line number Diff line change @@ -86,6 +86,17 @@ cc_test(
8686 ],
8787)
8888
89+ cc_binary (
90+ name = "status_benchmark" ,
91+ testonly = True ,
92+ srcs = ["status_benchmark.cc" ],
93+ tags = ["benchmark" ],
94+ deps = [
95+ ":status" ,
96+ "@google_benchmark//:benchmark_main" ,
97+ ],
98+ )
99+
89100cc_library (
90101 name = "statusor" ,
91102 srcs = [
@@ -132,6 +143,18 @@ cc_test(
132143 ],
133144)
134145
146+ cc_binary (
147+ name = "statusor_benchmark" ,
148+ testonly = True ,
149+ srcs = ["statusor_benchmark.cc" ],
150+ tags = ["benchmark" ],
151+ deps = [
152+ ":status" ,
153+ ":statusor" ,
154+ "@google_benchmark//:benchmark_main" ,
155+ ],
156+ )
157+
135158cc_library (
136159 name = "status_matchers" ,
137160 testonly = 1 ,
Original file line number Diff line number Diff line change 1+ // Copyright 2025 The Abseil Authors.
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+ // https://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+
15+ #include < utility>
16+ #include " absl/status/status.h"
17+ #include " benchmark/benchmark.h"
18+
19+ namespace {
20+
21+ void BM_CreateOk (benchmark::State& state) {
22+ for (auto _ : state) {
23+ absl::Status s; // ok.
24+ benchmark::DoNotOptimize (s);
25+ }
26+ }
27+ BENCHMARK (BM_CreateOk);
28+
29+ void BM_CreateBad (benchmark::State& state) {
30+ for (auto _ : state) {
31+ absl::Status s (absl::StatusCode::kInvalidArgument , " message" );
32+ benchmark::DoNotOptimize (s);
33+ }
34+ }
35+ BENCHMARK (BM_CreateBad);
36+
37+ } // namespace
You can’t perform that action at this time.
0 commit comments