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++
|
||||
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
|
||||
|
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
|
||||
./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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user