Skip to content

Commit

Permalink
Lithium: Switch back to gcc and benchmark number of sql connections. (T…
Browse files Browse the repository at this point in the history
…echEmpower#5903)

* Benchmark number of sql connections.

* Lithium: fix default test.

* Lithium: re-run travis.
  • Loading branch information
matt-42 authored Jul 28, 2020
1 parent f30ebdf commit 8ce8787
Show file tree
Hide file tree
Showing 26 changed files with 641 additions and 17 deletions.
443 changes: 441 additions & 2 deletions frameworks/C++/lithium/benchmark_config.json

Large diffs are not rendered by default.

File renamed without changes.
20 changes: 20 additions & 0 deletions frameworks/C++/lithium/compile_and_start_gcc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#! /bin/sh

DB_FLAG=$1
N_SQL_CONNECTIONS=$2
COMMIT=2ea53ab949627baeaaad77e7662da74f9a9d0a31

if [ $DB_FLAG = "TFB_MYSQL" ]; then
CXX_FLAGS="-I /usr/include/mariadb -lmariadbclient "
wget https://raw.githubusercontent.com/matt-42/lithium/$COMMIT/single_headers/lithium_mysql.hh
elif [ $DB_FLAG = "TFB_PGSQL" ]; then
CXX_FLAGS="-I/usr/include/postgresql -I /usr/include/postgresql/12/server -lpthread -lpq"
wget https://raw.githubusercontent.com/matt-42/lithium/$COMMIT/single_headers/lithium_pgsql.hh
fi


wget https://raw.githubusercontent.com/matt-42/lithium/$COMMIT/single_headers/lithium_http_backend.hh

g++ -flto -DNDEBUG -DN_SQL_CONNECTIONS=$N_SQL_CONNECTIONS -D$DB_FLAG -O3 -march=native -std=c++17 ./lithium.cc $CXX_FLAGS -lpthread -lboost_context -lssl -lcrypto -o /lithium_tbf

/lithium_tbf tfb-database 8080
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-1.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 1
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-10.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 10
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-2.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 2
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-3.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 3
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-4.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 4
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-5.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 5
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-6.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 6
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-7.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 7
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-8.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 8
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-mysql-9.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_MYSQL 9
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-1.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 1
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-10.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 10
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-2.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 2
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-3.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 3
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-4.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 4
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-5.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 5
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-6.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 6
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-7.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 7
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-8.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 8
8 changes: 8 additions & 0 deletions frameworks/C++/lithium/lithium-postgres-9.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start_gcc.sh TFB_PGSQL 9
4 changes: 2 additions & 2 deletions frameworks/C++/lithium/lithium-postgres.dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq clang libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev
RUN apt-get install -yqq g++-9 libboost-dev postgresql-server-dev-all libpq-dev wget libboost-context-dev

COPY ./ ./

CMD ./compile_and_start.sh TFB_PGSQL
CMD ./compile_and_start_gcc.sh TFB_PGSQL NCONN
27 changes: 16 additions & 11 deletions frameworks/C++/lithium/lithium.cc
Original file line number Diff line number Diff line change
Expand Up @@ -71,17 +71,22 @@ int main(int argc, char* argv[]) {
s::id(s::auto_increment, s::primary_key) = int(),
s::randomNumber = int());

#if TFB_MYSQL
int db_nconn = 4;
int queries_nconn = 2;
int fortunes_nconn = 4;
int updates_nconn = 1;
#elif TFB_PGSQL
int db_nconn = 7;
int queries_nconn = 4;
int fortunes_nconn = 7;
int updates_nconn = 3;
#endif
// #if TFB_MYSQL
// int db_nconn = 4;
// int queries_nconn = 2;
// int fortunes_nconn = 4;
// int updates_nconn = 1;
// #elif TFB_PGSQL
// int db_nconn = 7;
// int queries_nconn = 4;
// int fortunes_nconn = 7;
// int updates_nconn = 3;
// #endif

int db_nconn = N_SQL_CONNECTIONS;
int queries_nconn = N_SQL_CONNECTIONS;
int fortunes_nconn = N_SQL_CONNECTIONS;
int updates_nconn = N_SQL_CONNECTIONS;

http_api my_api;

Expand Down
4 changes: 2 additions & 2 deletions frameworks/C++/lithium/lithium.dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM buildpack-deps:focal

RUN apt-get update -yqq
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev clang
RUN apt-get install -yqq libboost-dev libmariadb-dev wget libboost-context-dev g++-9

COPY ./ ./

CMD ./compile_and_start.sh TFB_MYSQL
CMD ./compile_and_start_gcc.sh TFB_MYSQL 20

0 comments on commit 8ce8787

Please sign in to comment.