Skip to content
This repository was archived by the owner on Mar 24, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
3b91514
Write commit counts and sloc counts to latest results.json file
cjnething Apr 5, 2016
7b3b0ca
Update Node version to 5.10.0 which includes io.js
cjnething Apr 5, 2016
3d6d694
Extract rust version to a variable
steveklabnik Apr 26, 2016
c5c034a
update Rust version to 1.8
steveklabnik Apr 26, 2016
e5854bc
Update versions for iron framework
steveklabnik Apr 28, 2016
b4b2dff
Bump Finagle version in Finagle and Finch benchmarks
vkostyukov May 19, 2016
98fe8a9
Updated treefrog to version 1.12.0 and added setup for mongodb and po…
aoym Mar 16, 2016
a21bd73
Update to Rust 1.9.
steveklabnik May 27, 2016
88e5a6a
Go 1.6.2
methane May 11, 2016
05ce1a8
Simplify Revenj setup.
zapov May 30, 2016
d78dfdb
Add JLHTTP benchmark
amichair May 3, 2016
65db629
Add benchmark for Finatra framework (Scala)
cacoco Jun 15, 2016
be4d7ec
update akka-http to 2.4.7
borovikovd Apr 12, 2016
fb9c8c7
Upgrade deps, tune perf, add undertow servlet and undertow webactors …
Jun 15, 2016
bf9bbfe
Fixes #2047 Ruby related tests fail in vagrant box due to RVM wrong i…
Zloy Jun 15, 2016
2542960
Fix http headers spring
dreis2211 Jun 15, 2016
0a5b8e0
Merge pull request #2059 from methane/go1.6.2
NateBrady23 Jun 15, 2016
c5d2298
Merge pull request #2058 from vkostyukov/vk/bump-finagle
NateBrady23 Jun 15, 2016
f1423cc
Merge pull request #2060 from zapov/round-14
NateBrady23 Jun 15, 2016
7aa4ef7
Merge pull request #2062 from amichair/round-14
NateBrady23 Jun 16, 2016
ef9f6ec
Update to include twitter maven repo resolver.
cacoco Jun 16, 2016
b208e71
Update build environment for wai to use stack
saturday06 Apr 24, 2016
9aaaeee
Update build environment for snap to use stack
saturday06 Apr 24, 2016
91c24a3
Use --install-ghc instead of 'stack setup'
saturday06 Apr 24, 2016
9336113
Adapt yesod's .gitignore to stack
saturday06 Apr 28, 2016
901835d
Update LTS Haskell to 6.3
saturday06 Apr 28, 2016
9e4fa81
Fix permission
saturday06 Apr 28, 2016
65aedbf
Add content type for plaintext
saturday06 Apr 29, 2016
55c4b44
Use resource-pool instead of deprecated pool-conduit
saturday06 Apr 29, 2016
ba296f6
Remove charset from content types for warning supression
saturday06 Apr 29, 2016
6329792
Prevent applying RTS options to stack itself
saturday06 May 7, 2016
ab143f5
Tweak connection pool config for travis
saturday06 May 15, 2016
f96f6c6
Merge pull request #2064 from dborovikov/round-14
NateBrady23 Jun 16, 2016
482d185
Merge pull request #2067 from circlespainter/round-14
NateBrady23 Jun 16, 2016
787a92d
Merge pull request #2066 from steveklabnik/rust-1.8
NateBrady23 Jun 16, 2016
a58e628
Merge pull request #2068 from Zloy/round-14
NateBrady23 Jun 17, 2016
81d879d
Merge pull request #2071 from dreis2211/fix-http-header-spring
NateBrady23 Jun 17, 2016
9f483e1
Merge pull request #2063 from cacoco/ccoco-finatra-benchmark
NateBrady23 Jun 17, 2016
a6393c2
Merge pull request #2069 from cjnething/issue-1546-add-io-js-to-node-…
NateBrady23 Jun 17, 2016
12c85da
Merge pull request #2070 from cjnething/issue-1562-loc-count-missing-…
NateBrady23 Jun 17, 2016
814bac3
Merge pull request #2073 from saturday06/haskell-stack
NateBrady23 Jun 17, 2016
04641d2
Merge pull request #2072 from treefrogframework/v1_12-psql_mongo
NateBrady23 Jun 18, 2016
544b89a
merge revel-jet and revel-qbs files into revel
methane Mar 27, 2016
b57c315
Split revel and revel-raw
methane Mar 31, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@ env:
- "TESTDIR=Go/go-std-mysql"
- "TESTDIR=Go/go-std-postgresql"
- "TESTDIR=Go/revel"
- "TESTDIR=Go/revel-jet"
- "TESTDIR=Go/revel-qbs"
- "TESTDIR=Go/webgo"
- "TESTDIR=Groovy/grails"
- "TESTDIR=Haskell/snap"
Expand All @@ -85,6 +83,7 @@ env:
- "TESTDIR=Java/jawn"
- "TESTDIR=Java/jetty-servlet"
- "TESTDIR=Java/jetty"
- "TESTDIR=Java/jlhttp"
- "TESTDIR=Java/jooby"
- "TESTDIR=Java/netty"
- "TESTDIR=Java/ninja-standalone"
Expand Down Expand Up @@ -185,6 +184,7 @@ env:
- "TESTDIR=Scala/akka-http"
- "TESTDIR=Scala/colossus"
- "TESTDIR=Scala/finagle"
- "TESTDIR=Scala/finatra"
- "TESTDIR=Scala/fintrospect"
- "TESTDIR=Scala/lift-stateless"
- "TESTDIR=Scala/plain"
Expand Down
54 changes: 50 additions & 4 deletions frameworks/C++/treefrog/benchmark_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@
"framework": "treefrog",
"tests": [{
"default": {
"setup_file": "setup-thread",
"json_url": "/json/json",
"db_url": "/world/random",
"query_url": "/world/queries/",
"fortune_url": "/fortune/index",
"update_url": "/world/updates/",
"plaintext_url": "/world/plain",
"port": 8080,
"approach": "Realistic",
"classification": "Fullstack",
"database": "MySQL",
"framework": "treefrog",
"language": "C++",
"orm": "Micro",
"platform": "Treefrog",
"webserver": "None",
"os": "Linux",
"database_os": "Linux",
"display_name": "treefrog-thread",
"notes": "",
"versus": ""
},
"hybrid": {
"setup_file": "setup",
"json_url": "/json/json",
"db_url": "/world/random",
Expand All @@ -24,8 +47,8 @@
"notes": "",
"versus": ""
},
"thread": {
"setup_file": "setup-thread",
"postgres": {
"setup_file": "setup-postgres",
"json_url": "/json/json",
"db_url": "/world/random",
"query_url": "/world/queries/",
Expand All @@ -35,15 +58,38 @@
"port": 8080,
"approach": "Realistic",
"classification": "Fullstack",
"database": "MySQL",
"database": "Postgres",
"framework": "treefrog",
"language": "C++",
"orm": "Micro",
"platform": "Treefrog",
"webserver": "None",
"os": "Linux",
"database_os": "Linux",
"display_name": "treefrog-thread",
"display_name": "treefrog-postgres",
"notes": "",
"versus": ""
},
"mongodb": {
"setup_file": "setup-mongodb",
"json_url": "/json/json",
"db_url": "/world/mrandom",
"query_url": "/world/mqueries/",
"fortune_url": "/fortune/mindex",
"update_url": "/world/mupdates/",
"plaintext_url": "/world/plain",
"port": 8080,
"approach": "Realistic",
"classification": "Fullstack",
"database": "MongoDB",
"framework": "treefrog",
"language": "C++",
"orm": "Micro",
"platform": "Treefrog",
"webserver": "None",
"os": "Linux",
"database_os": "Linux",
"display_name": "treefrog-mongo",
"notes": "",
"versus": ""
}
Expand Down
38 changes: 20 additions & 18 deletions frameworks/C++/treefrog/config/application.ini
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ InternalEncoding=UTF-8
# specified encoding. See QTextCodec class reference.
HttpOutputEncoding=UTF-8

# Sets the charset parameter of 'text/html' in the HTTP Content-Type
# header to the specified string.
HtmlContentCharset=UTF-8

# Sets a language/country pair, such as en_US, ja_JP, etc.
# If this value is empty, the system's locale is used.
Locale=
Expand All @@ -33,7 +29,7 @@ UploadTemporaryDirectory=tmp
SqlDatabaseSettingsFiles=database.ini

# Specify the setting file for MongoDB.
MongoDbSettingsFile=
MongoDbSettingsFile=mongodb.ini

# Specify the directory path to store SQL query files
SqlQueriesStoredDirectory=sql/
Expand Down Expand Up @@ -64,6 +60,25 @@ LimitRequestBody=0
# forgery never work; otherwise it's enabled.
EnableCsrfProtectionModule=false

# Enables HTTP method override if true. The following are priorities of
# override.
# - Value of query parameter named '_method'
# - Value of X-HTTP-Method-Override header
# - Value of X-HTTP-Method header
# - Value of X-METHOD-OVERRIDE header
EnableHttpMethodOverride=false

# Sets the timeout in seconds during which a keep-alive HTTP connection
# will stay open on the server side. The zero value disables keep-alive
# client connections.
HttpKeepAliveTimeout=10

# Forces some libraries to be loaded before all others. It means to set
# the LD_PRELOAD environment variable for the application server, Linux
# only. The paths to shared objects, jemalloc or TCMalloc, can be
# specified.
LDPreload=/usr/lib/x86_64-linux-gnu/libjemalloc.so

##
## Session section
##
Expand Down Expand Up @@ -112,19 +127,6 @@ MPM.thread.MaxAppServers=10
# per server process.
MPM.thread.MaxThreadsPerAppServer=100

##
## MPM Prefork section
##

# Maximum number of server processes allowed to start
MPM.prefork.MaxServers=20

# Minimum number of server processes allowed to start
MPM.prefork.MinServers=5

# Number of server processes which are kept spare
MPM.prefork.SpareServers=5

##
## MPM Hybrid section
##
Expand Down
6 changes: 3 additions & 3 deletions frameworks/C++/treefrog/config/mongodb.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#

[dev]
DatabaseName=mdb
DatabaseName=hello_world
HostName=localhost
Port=
UserName=
Expand All @@ -19,8 +19,8 @@ Password=
ConnectOptions=

[product]
DatabaseName=
HostName=
DatabaseName=hello_world
HostName=localhost
Port=
UserName=
Password=
Expand Down
2 changes: 1 addition & 1 deletion frameworks/C++/treefrog/controllers/controllers.pro
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
TARGET = controller
TEMPLATE = lib
CONFIG += shared x86_64 c++11
QT += network sql xml
QT += network sql xml qml
QT -= gui
DEFINES += TF_DLL
DESTDIR = ../lib
Expand Down
18 changes: 18 additions & 0 deletions frameworks/C++/treefrog/controllers/fortunecontroller.cpp
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
#include "fortunecontroller.h"
#include "fortune.h"
#include "mngfortune.h"

static bool caseSensitiveLessThan(const Fortune &f1, const Fortune &f2)
{
return f1.message() < f2.message();
}

static bool caseSensitiveMngFortuneLessThan(const MngFortune &f1, const MngFortune &f2)
{
return f1.message() < f2.message();
}

FortuneController::FortuneController(const FortuneController &)
: ApplicationController()
{ }
Expand All @@ -22,6 +28,18 @@ void FortuneController::index()
render();
}

void FortuneController::mindex()
{
QList<MngFortune> fortuneList = MngFortune::getAll();
MngFortune fortune;
fortune.setMessage(QLatin1String("Additional fortune added at request time."));
fortuneList << fortune;
// Sort
qSort(fortuneList.begin(), fortuneList.end(), caseSensitiveMngFortuneLessThan);
texport(fortuneList);
render("mindex");
}

void FortuneController::show(const QString &pk)
{
Fortune fortune = Fortune::get(pk.toUInt());
Expand Down
3 changes: 2 additions & 1 deletion frameworks/C++/treefrog/controllers/fortunecontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ class T_CONTROLLER_EXPORT FortuneController : public ApplicationController
bool transactionEnabled() const { return false; }

public slots:
void index();
void index(); // SQL
void mindex(); // MongoDB
void show(const QString &pk);
void entry();
void create();
Expand Down
52 changes: 51 additions & 1 deletion frameworks/C++/treefrog/controllers/worldcontroller.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#include "worldcontroller.h"
#include "world.h"
#include "mngworld.h"


WorldController::WorldController(const WorldController &)
Expand Down Expand Up @@ -139,7 +140,7 @@ void WorldController::updates(const QString &num)
world = World::get(id);
world.setRandomNumber( Tf::random(9999) + 1 );
world.update();
worlds << world.toVariantMap();
worlds << world.toVariantMap();
}
renderJson(worlds);
}
Expand All @@ -156,5 +157,54 @@ void WorldController::remove(const QString &pk)
}



/*
MongoDB
*/
void WorldController::mqueries()
{
mqueries("1");
}

void WorldController::mqueries(const QString &num)
{
QVariantList worlds;
int d = qMin(qMax(num.toInt(), 1), 500);

for (int i = 0; i < d; ++i) {
QString id = QString::number(Tf::random(9999) + 1);
worlds << MngWorld::get(id).toVariantMap();
}
renderJson(worlds);
}

void WorldController::mrandom()
{
int id = Tf::random(9999) + 1;
World world = World::get(id);
renderJson(world.toVariantMap());
}

void WorldController::mupdates()
{
mupdates("1");
}

void WorldController::mupdates(const QString &num)
{
QVariantList worlds;
int d = qMin(qMax(num.toInt(), 1), 500);
MngWorld world;

for (int i = 0; i < d; ++i) {
QString id = QString::number(Tf::random(9999) + 1);
world = MngWorld::get(id);
world.setRandomNumber( Tf::random(9999) + 1 );
world.update();
worlds << world.toVariantMap();
}
renderJson(worlds);
}

// Don't remove below this line
T_REGISTER_CONTROLLER(worldcontroller)
7 changes: 7 additions & 0 deletions frameworks/C++/treefrog/controllers/worldcontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ public slots:
void updates();
void remove(const QString &pk);

// MongoDB
void mqueries();
void mqueries(const QString &num);
void mrandom();
void mupdates(const QString &num);
void mupdates();

private:
void renderEntry(const QVariantMap &world = QVariantMap());
void renderEdit(const QVariantMap &world = QVariantMap());
Expand Down
2 changes: 1 addition & 1 deletion frameworks/C++/treefrog/helpers/helpers.pro
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ TARGET = helper
TEMPLATE = lib
CONFIG += shared x86_64 c++11
QT -= gui
QT +=
QT += qml
DEFINES += TF_DLL
DESTDIR = ../lib
DEPENDPATH +=
Expand Down
Loading