mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2025-05-10 09:43:51 +00:00
Added example/benchmark.cc
This commit is contained in:
parent
bd089e9499
commit
140e5c06fb
@ -1,22 +1,25 @@
|
|||||||
|
|
||||||
CC = clang++
|
CC = clang++
|
||||||
CFLAGS = -std=c++14 -I..
|
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)
|
$(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)
|
$(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)
|
$(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)
|
$(CC) -o simplesvr $(CFLAGS) simplesvr.cc $(OPENSSL_SUPPORT)
|
||||||
|
|
||||||
|
benchmark : benchmark.cc ../httplib.h Makefile
|
||||||
|
$(CC) -o benchmark $(CFLAGS) benchmark.cc $(OPENSSL_SUPPORT)
|
||||||
|
|
||||||
pem:
|
pem:
|
||||||
openssl genrsa 2048 > key.pem
|
openssl genrsa 2048 > key.pem
|
||||||
openssl req -new -key key.pem | openssl x509 -days 3650 -req -signkey key.pem > cert.pem
|
openssl req -new -key key.pem | openssl x509 -days 3650 -req -signkey key.pem > cert.pem
|
||||||
|
33
example/benchmark.cc
Normal file
33
example/benchmark.cc
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#include <httplib.h>
|
||||||
|
#include <chrono>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
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<chrono::milliseconds>(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;
|
||||||
|
}
|
@ -6,7 +6,7 @@ CFLAGS = -std=c++14 -DGTEST_USE_OWN_TR1_TUPLE -I.. -I.
|
|||||||
all : test
|
all : test
|
||||||
./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)
|
$(CC) -o test $(CFLAGS) test.cc gtest/gtest-all.cc gtest/gtest_main.cc $(OPENSSL_SUPPORT)
|
||||||
|
|
||||||
pem:
|
pem:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user