From 140e5c06fb158245b09129aec4794930d4e7bce3 Mon Sep 17 00:00:00 2001 From: yhirose Date: Mon, 6 Nov 2017 13:25:42 -0500 Subject: [PATCH] Added example/benchmark.cc --- example/Makefile | 15 +++++++++------ example/benchmark.cc | 33 +++++++++++++++++++++++++++++++++ test/Makefile | 2 +- 3 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 example/benchmark.cc diff --git a/example/Makefile b/example/Makefile index 750122e..575e0fa 100644 --- a/example/Makefile +++ b/example/Makefile @@ -1,22 +1,25 @@ CC = clang++ CFLAGS = -std=c++14 -I.. -OPENSSL_SUPPORT = -DCPPHTTPLIB_OPENSSL_SUPPORT -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib -lssl -lcrypto +#OPENSSL_SUPPORT = -DCPPHTTPLIB_OPENSSL_SUPPORT -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib -lssl -lcrypto -all: server client hello simplesvr +all: server client hello simplesvr benchmark -server : server.cc ../httplib.h +server : server.cc ../httplib.h Makefile $(CC) -o server $(CFLAGS) server.cc $(OPENSSL_SUPPORT) -client : client.cc ../httplib.h +client : client.cc ../httplib.h Makefile $(CC) -o client $(CFLAGS) client.cc $(OPENSSL_SUPPORT) -hello : hello.cc ../httplib.h +hello : hello.cc ../httplib.h Makefile $(CC) -o hello $(CFLAGS) hello.cc $(OPENSSL_SUPPORT) -simplesvr : simplesvr.cc ../httplib.h +simplesvr : simplesvr.cc ../httplib.h Makefile $(CC) -o simplesvr $(CFLAGS) simplesvr.cc $(OPENSSL_SUPPORT) +benchmark : benchmark.cc ../httplib.h Makefile + $(CC) -o benchmark $(CFLAGS) benchmark.cc $(OPENSSL_SUPPORT) + pem: openssl genrsa 2048 > key.pem openssl req -new -key key.pem | openssl x509 -days 3650 -req -signkey key.pem > cert.pem diff --git a/example/benchmark.cc b/example/benchmark.cc new file mode 100644 index 0000000..7e3c3dd --- /dev/null +++ b/example/benchmark.cc @@ -0,0 +1,33 @@ +#include +#include +#include + +using namespace std; + +struct StopWatch { + StopWatch(const string& label) : label_(label) { + start_ = chrono::system_clock::now(); + } + ~StopWatch() { + auto end = chrono::system_clock::now(); + auto diff = end - start_; + auto count = chrono::duration_cast(diff).count(); + cout << label_ << ": " << count << " millisec." << endl; + } + string label_; + chrono::system_clock::time_point start_; +}; + +int main(int argc, char* argv[]) { + string body(1024 * 5, 'a'); + + httplib::Client cli("httpbin.org", 80); + + for (int i = 0; i < 3; i++) { + StopWatch sw(to_string(i).c_str()); + auto res = cli.post("/post", body, "application/octet-stream"); + assert(res->status == 200); + } + + return 0; +} diff --git a/test/Makefile b/test/Makefile index 3672ccb..76809f3 100644 --- a/test/Makefile +++ b/test/Makefile @@ -6,7 +6,7 @@ CFLAGS = -std=c++14 -DGTEST_USE_OWN_TR1_TUPLE -I.. -I. all : test ./test -test : test.cc ../httplib.h +test : test.cc ../httplib.h Makefile $(CC) -o test $(CFLAGS) test.cc gtest/gtest-all.cc gtest/gtest_main.cc $(OPENSSL_SUPPORT) pem: