diff options
author | Yilun Chong <yilunchong@google.com> | 2018-07-16 13:53:22 -0700 |
---|---|---|
committer | Yilun Chong <yilunchong@google.com> | 2018-07-16 13:53:22 -0700 |
commit | 7f57d13c22356b491099a2884caf23a9cf672df3 (patch) | |
tree | 40e527ba8d2472b06e62b33a57efd2f5cb99a55d /benchmarks/Makefile.am | |
parent | 3d603f481ed142d0be5e8e4dd6d1cb4457a51405 (diff) | |
download | protobuf-7f57d13c22356b491099a2884caf23a9cf672df3.tar.gz protobuf-7f57d13c22356b491099a2884caf23a9cf672df3.tar.bz2 protobuf-7f57d13c22356b491099a2884caf23a9cf672df3.zip |
add php benchmark
Diffstat (limited to 'benchmarks/Makefile.am')
-rw-r--r-- | benchmarks/Makefile.am | 56 |
1 files changed, 53 insertions, 3 deletions
diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am index 9f609228..c7e6ee20 100644 --- a/benchmarks/Makefile.am +++ b/benchmarks/Makefile.am @@ -36,7 +36,7 @@ protoc_middleman2: make_tmp_dir $(top_srcdir)/src/protoc$(EXEEXT) $(benchmarks_ oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd/cpp --java_out=$$oldpwd/tmp/java/src/main/java --python_out=$$oldpwd/tmp $(benchmarks_protoc_inputs_proto2) ) touch protoc_middleman2 -all_data = $$(find $(srcdir) -type f -name "dataset.*.pb" -not -path "./tmp/*") +all_data = $$(find $$(cd $(srcdir) && pwd) -type f -name "dataset.*.pb" -not -path "$$(cd $(srcdir) && pwd)/tmp/*") ############# CPP RULES ############## @@ -491,7 +491,8 @@ proto3_proto_middleman: protoc-gen-proto2_to_proto3 oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I$(srcdir) -I$(top_srcdir) --plugin=protoc-gen-proto2_to_proto3 --proto2_to_proto3_out=$$oldpwd/tmp/proto3_proto $(benchmarks_protoc_inputs) $(benchmarks_protoc_inputs_benchmark_wrapper) $(benchmarks_protoc_inputs_proto2) ) touch proto3_proto_middleman -proto3_data = $$(for data in $(all_data); do echo "tmp/proto3_data$${data\#$(srcdir)}"; done | xargs) +full_srcdir = $$(cd $(srcdir) && pwd) +proto3_data = $$(for data in $(all_data); do echo $(full_srcdir)"/tmp/proto3_data$${data\#$(full_srcdir)}"; done | xargs) generate_proto3_data: protoc_middleman protoc_middleman2 proto3-data-stripper mkdir -p `dirname $(proto3_data)` @@ -500,6 +501,51 @@ generate_proto3_data: protoc_middleman protoc_middleman2 proto3-data-stripper ############ PROTO3 PREPARATION END ############# +############ PHP RULES BEGIN ################# + +proto3_middleman_php: proto3_proto_middleman + mkdir -p "tmp/php" + oldpwd=`pwd` && ( cd tmp/proto3_proto && $$oldpwd/../src/protoc$(EXEEXT) -I$(srcdir) -I$(top_srcdir) --php_out=$$oldpwd/tmp/php $(benchmarks_protoc_inputs) $(benchmarks_protoc_inputs_benchmark_wrapper) $(benchmarks_protoc_inputs_proto2) ) + touch proto3_middleman_php + +php-benchmark: proto3_middleman_php generate_proto3_data + mkdir -p "tmp/php/Google/Protobuf/Benchmark" && cp php/PhpBenchmark.php "tmp/php/Google/Protobuf/Benchmark" + cp php/autoload.php "tmp/php" + @echo "Writing shortcut script php-benchmark..." + @echo '#! /bin/bash' > php-benchmark + @echo 'export PROTOBUF_PHP_SRCDIR="$$(cd $(top_srcdir) && pwd)/php/src"' >> php-benchmark + @echo 'cd tmp/php' >> php-benchmark + @echo 'export CURRENT_DIR=$$(pwd)' >> php-benchmark + @echo 'php -d auto_prepend_file="autoload.php" -d include_path="$$(pwd)" Google/Protobuf/Benchmark/PhpBenchmark.php $$@' >> php-benchmark + @echo 'cd ../..' >> php-benchmark + @chmod +x php-benchmark + +php: php-benchmark proto3_middleman_php + ./php-benchmark $(proto3_data) + +php_c_extension: + cd $(top_srcdir)/php/ext/google/protobuf && ./configure CFLAGS='-O3' && make -j8 + +php-c-benchmark: proto3_middleman_php generate_proto3_data php_c_extension php_c_extension + mkdir -p "tmp/php/Google/Protobuf/Benchmark" && cp php/PhpBenchmark.php "tmp/php/Google/Protobuf/Benchmark" + cp php/autoload.php "tmp/php" + @echo "Writing shortcut script php-c-benchmark..." + @echo '#! /bin/bash' > php-c-benchmark + @echo 'export PROTOBUF_PHP_SRCDIR="$$(cd $(top_srcdir) && pwd)/php/src"' >> php-c-benchmark + @echo 'export PROTOBUF_PHP_EXTDIR="$$PROTOBUF_PHP_SRCDIR/../ext/google/protobuf/modules"' >> php-c-benchmark + @echo 'echo "$$PROTOBUF_PHP_EXTDIR/protobuf.so"' >> php-c-benchmark + @echo 'cd tmp/php' >> php-c-benchmark + @echo 'export CURRENT_DIR=$$(pwd)' >> php-c-benchmark + @echo 'php -d auto_prepend_file="autoload.php" -d include_path="$$(pwd)" -d extension="$$PROTOBUF_PHP_EXTDIR/protobuf.so" Google/Protobuf/Benchmark/PhpBenchmark.php $$@' >> php-c-benchmark + @echo 'cd ../..' >> php-c-benchmark + @chmod +x php-c-benchmark + +php_c: php-c-benchmark proto3_middleman_php + ./php-c-benchmark $(proto3_data) + + +############ PHP RULES END ################# + MAINTAINERCLEANFILES = \ Makefile.in @@ -544,8 +590,12 @@ CLEANFILES = \ gogo-benchmark \ gogo/cpp_no_group/cpp_benchmark.* \ proto3_proto_middleman \ - generate_proto3_data + generate_proto3_data \ + php-benchmark \ + php-c-benchmark \ + proto3_middleman_php clean-local: -rm -rf tmp/* + |