Browse Source

Update TreeFrog Framework to version 2.1 (#6776)

* updated to version 2.1.

* renamed

* updated benchmark_config.json
TreeFrog Framework 3 years ago
parent
commit
0726eec7ed

+ 19 - 19
frameworks/C++/treefrog/benchmark_config.json

@@ -3,63 +3,63 @@
   "tests": [{
     "default": {
       "json_url": "/json/json",
-      "db_url": "/world/random",
-      "query_url": "/world/queries/",
+      "db_url": "/world/prandom",
+      "query_url": "/world/pqueries/",
       "fortune_url": "/fortune/index",
-      "update_url": "/world/updates/",
+      "update_url": "/world/pupdates/",
       "plaintext_url": "/world/plain",
-      "cached_query_url": "/world/cached_queries/",
+      "cached_query_url": "/world/cached_pqueries/",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Fullstack",
-      "database": "MySQL",
+      "database": "Postgres",
       "framework": "treefrog",
       "language": "C++",
+      "flavor": "None",
       "orm": "Micro",
       "platform": "None",
       "webserver": "None",
       "os": "Linux",
       "database_os": "Linux",
-      "display_name": "treefrog-thread",
+      "display_name": "treefrog-postgres",
       "notes": "",
       "versus": ""
     },
-    "postgres": {
+    "mysql": {
       "json_url": "/json/json",
-      "db_url": "/world/prandom",
-      "query_url": "/world/pqueries/",
+      "db_url": "/world/random",
+      "query_url": "/world/queries/",
       "fortune_url": "/fortune/index",
-      "update_url": "/world/pupdates/",
+      "update_url": "/world/updates/",
       "plaintext_url": "/world/plain",
-      "cached_query_url": "/world/cached_pqueries/",
+      "cached_query_url": "/world/cached_queries/",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Fullstack",
-      "database": "Postgres",
+      "database": "MySQL",
       "framework": "treefrog",
       "language": "C++",
-      "flavor": "None",
       "orm": "Micro",
       "platform": "None",
       "webserver": "None",
       "os": "Linux",
       "database_os": "Linux",
-      "display_name": "treefrog-postgres",
+      "display_name": "treefrog-mysql",
       "notes": "",
       "versus": ""
     },
     "epoll": {
       "json_url": "/json/json",
-      "db_url": "/world/random",
-      "query_url": "/world/queries/",
+      "db_url": "/world/prandom",
+      "query_url": "/world/pqueries/",
       "fortune_url": "/fortune/index",
-      "update_url": "/world/updates/",
+      "update_url": "/world/pupdates/",
       "plaintext_url": "/world/plain",
-      "cached_query_url": "/world/cached_queries/",
+      "cached_query_url": "/world/cached_pqueries/",
       "port": 8080,
       "approach": "Realistic",
       "classification": "Fullstack",
-      "database": "MySQL",
+      "database": "Postgres",
       "framework": "treefrog",
       "language": "C++",
       "flavor": "None",

+ 19 - 19
frameworks/C++/treefrog/config.toml

@@ -4,6 +4,24 @@ name = "treefrog"
 [main]
 urls.plaintext = "/world/plain"
 urls.json = "/json/json"
+urls.db = "/world/prandom"
+urls.query = "/world/pqueries/"
+urls.update = "/world/pupdates/"
+urls.fortune = "/fortune/index"
+urls.cached_query = "/world/cached_pqueries/"
+approach = "Realistic"
+classification = "Fullstack"
+database = "Postgres"
+database_os = "Linux"
+os = "Linux"
+orm = "Micro"
+platform = "None"
+webserver = "None"
+versus = ""
+
+[mysql]
+urls.plaintext = "/world/plain"
+urls.json = "/json/json"
 urls.db = "/world/random"
 urls.query = "/world/queries/"
 urls.update = "/world/updates/"
@@ -37,7 +55,7 @@ platform = "None"
 webserver = "None"
 versus = "treefrog"
 
-[postgres]
+[epoll]
 urls.plaintext = "/world/plain"
 urls.json = "/json/json"
 urls.db = "/world/prandom"
@@ -54,21 +72,3 @@ orm = "Micro"
 platform = "None"
 webserver = "None"
 versus = ""
-
-[epoll]
-urls.plaintext = "/world/plain"
-urls.json = "/json/json"
-urls.db = "/world/random"
-urls.query = "/world/queries/"
-urls.update = "/world/updates/"
-urls.fortune = "/fortune/index"
-urls.cached_query = "/world/cached_queries/"
-approach = "Realistic"
-classification = "Fullstack"
-database = "MySQL"
-database_os = "Linux"
-os = "Linux"
-orm = "Micro"
-platform = "None"
-webserver = "None"
-versus = ""

+ 2 - 2
frameworks/C++/treefrog/config/application.ini

@@ -246,12 +246,12 @@ Cache.SettingsFile=cache.ini
 
 # Specify the cache backend, such as 'sqlite', 'mongodb'
 # or 'redis'.
-Cache.Backend=redis
+Cache.Backend=sqlite
 
 # Probability of starting garbage collection (GC) for cache.
 # If 100 is specified, GC will be started at a rate of once per 100
 # sets. If 0 is specified, the GC never starts.
-Cache.GcProbability=10000
+Cache.GcProbability=100000
 
 # If true, enable LZ4 compression when storing data.
 Cache.EnableCompression=no

+ 1 - 2
frameworks/C++/treefrog/controllers/jsoncontroller.cpp

@@ -8,8 +8,7 @@ void JsonController::index()
 
 void JsonController::json()
 {
-    QVariantMap obj;
-    obj[QStringLiteral("message")] = "Hello, World!";
+    static QJsonObject obj {{"message", "Hello, World!"}};
     renderJson(obj);
 }
 

+ 3 - 4
frameworks/C++/treefrog/treefrog-epoll.dockerfile

@@ -2,7 +2,7 @@ FROM buildpack-deps:focal
 
 ENV DEBIAN_FRONTEND noninteractive
 ENV DEBCONF_NOWARNINGS yes
-ENV TFVER=1.31.1
+ENV TFVER=2.1.0
 
 RUN apt-get update -yqq && apt-get upgrade -yq && apt-get install -yqq --no-install-recommends \
     software-properties-common unzip wget make cmake gcc clang libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
@@ -31,11 +31,10 @@ RUN qmake -r CONFIG+=release -spec linux-clang
 
 # 2. Compile applicaton
 RUN make
-RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
+RUN sed -i 's|DriverType=.*|DriverType=QPSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=epoll|g' config/application.ini
 
 EXPOSE 8080
 
 # 3. Start TreeFrog
-CMD service redis-server start && \
-    treefrog /workspace
+CMD treefrog /workspace

+ 3 - 4
frameworks/C++/treefrog/treefrog-mongodb.dockerfile

@@ -2,7 +2,7 @@ FROM buildpack-deps:focal
 
 ENV DEBIAN_FRONTEND noninteractive
 ENV DEBCONF_NOWARNINGS yes
-ENV TFVER=1.31.1
+ENV TFVER=2.1.0
 
 RUN apt-get update -yqq && apt-get upgrade -yq && apt-get install -yqq --no-install-recommends \
     software-properties-common unzip wget make cmake gcc clang libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
@@ -31,11 +31,10 @@ RUN qmake -r CONFIG+=release -spec linux-clang
 
 # 2. Compile applicaton
 RUN make
-RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
+RUN sed -i 's|DriverType=.*|DriverType=QPSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini
 
 EXPOSE 8080
 
 # 3. Start TreeFrog
-CMD service redis-server start && \
-    treefrog /workspace
+CMD treefrog /workspace

+ 3 - 4
frameworks/C++/treefrog/treefrog-postgres.dockerfile → frameworks/C++/treefrog/treefrog-mysql.dockerfile

@@ -2,7 +2,7 @@ FROM buildpack-deps:focal
 
 ENV DEBIAN_FRONTEND noninteractive
 ENV DEBCONF_NOWARNINGS yes
-ENV TFVER=1.31.1
+ENV TFVER=2.1.0
 
 RUN apt-get update -yqq && apt-get upgrade -yq && apt-get install -yqq --no-install-recommends \
     software-properties-common unzip wget make cmake gcc clang libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
@@ -31,11 +31,10 @@ RUN qmake -r CONFIG+=release -spec linux-clang
 
 # 2. Compile applicaton
 RUN make
-RUN sed -i 's|DriverType=.*|DriverType=QPSQL|g' config/database.ini
+RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini
 
 EXPOSE 8080
 
 # 3. Start TreeFrog
-CMD service redis-server start && \
-    treefrog /workspace
+CMD treefrog /workspace

+ 3 - 4
frameworks/C++/treefrog/treefrog.dockerfile

@@ -2,7 +2,7 @@ FROM buildpack-deps:focal
 
 ENV DEBIAN_FRONTEND noninteractive
 ENV DEBCONF_NOWARNINGS yes
-ENV TFVER=1.31.1
+ENV TFVER=2.1.0
 
 RUN apt-get update -yqq && apt-get upgrade -yq && apt-get install -yqq --no-install-recommends \
     software-properties-common unzip wget make cmake gcc clang libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
@@ -31,11 +31,10 @@ RUN qmake -r CONFIG+=release -spec linux-clang
 
 # 2. Compile applicaton
 RUN make
-RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
+RUN sed -i 's|DriverType=.*|DriverType=QPSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini
 
 EXPOSE 8080
 
 # 3. Start TreeFrog
-CMD service redis-server start && \
-    treefrog /workspace
+CMD treefrog /workspace