Added size benchmark for CODE_SIZE.
diff --git a/benchmarks/BUILD b/benchmarks/BUILD index 720f8c6..2ab830f 100644 --- a/benchmarks/BUILD +++ b/benchmarks/BUILD
@@ -6,7 +6,7 @@ load( ":build_defs.bzl", "tmpl_cc_binary", - "cc_lite_proto_library", + "cc_optimizefor_proto_library", "expand_suffixes", "proto_library", ) @@ -165,10 +165,11 @@ ":" + k + "_cc_proto", ], ), -cc_lite_proto_library( +cc_optimizefor_proto_library( srcs = [k + ".proto"], outs = [k + "_lite.proto"], name = k + "_cc_lite_proto", + optimize_for = "LITE_RUNTIME", ), tmpl_cc_binary( name = k + "_lite_protobuf_binary", @@ -181,14 +182,33 @@ deps = [ ":" + k + "_cc_lite_proto", ], -)) for k, v in SIZE_BENCHMARKS.items()] +), +cc_optimizefor_proto_library( + srcs = [k + ".proto"], + outs = [k + "_codesize.proto"], + name = k + "_cc_codesize_proto", + optimize_for = "CODE_SIZE", +), +tmpl_cc_binary( + name = k + "_codesize_protobuf_binary", + testonly = 1, + gen = ":gen_protobuf_binary_cc", + args = [ + package_name() + "/" + k + "_codesize.pb.h", + "upb_benchmark::" + v, + ], + deps = [ + ":" + k + "_cc_codesize_proto", + ], +) +) for k, v in SIZE_BENCHMARKS.items()] genrule( testonly = 1, name = "size_data", srcs = expand_suffixes( SIZE_BENCHMARKS.keys(), - suffixes = ["_upb_binary", "_protobuf_binary", "_lite_protobuf_binary"], + suffixes = ["_upb_binary", "_protobuf_binary", "_lite_protobuf_binary", "_codesize_protobuf_binary"], ), outs = ["size_data.txt"], # We want --format=GNU which counts rodata with data, not text.