pavelmash 0ee7d8a744 [mORMot] improved HTTP server performance (#8612) 1 year ago
..
src 0ee7d8a744 [mORMot] improved HTTP server performance (#8612) 1 year ago
README.md 0905e4068a Complete mORMot2 benchmarks (Pascal language) (#7481) 3 years ago
benchmark_config.json 0c73d7968b mORMot: update mORMot to 2.1; add mainteiners section (#8520) 1 year ago
mormot.dockerfile 0ec0efc821 [mormot] improved async implementation; new test case with one listener (#8207) 2 years ago
setup_and_build.sh 0ee7d8a744 [mORMot] improved HTTP server performance (#8612) 1 year ago

README.md

mORMot Benchmarking Test

This is a framework implementation using the mORMot2 FreePascal/Delphi framework. It builds using FreePascal compiler and developed using Lazarus IDE

Test Type Implementation Source Code

Important Libraries

The tests were run with:

Contributor tips

For debugging purpose run Postges using Docker

sudo docker run --name postgres -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 postgres:12

add tfb-database into hosts

echo '127.0.0.1	 tfb-database' | sudo tee -a /etc/hosts

Database can be initialized using scripts from TFBDatabases repo

git clone https://github.com/TechEmpower/TFBDatabases.git
cd TFBDatabases
psql postgres://postgres:postgres@tfb-database:5432 < create-postgres-database.sql
psql postgres://benchmarkdbuser:benchmarkdbpass@tfb-database:5432/hello_world < create-postgres.sql

Test URLs

JSON

http://localhost:8080/json

PLAINTEXT

http://localhost:8080/plaintext

mORMot HTTP server does not support HTTP pipelining, so numbers is not impressive here.

DB

http://localhost:8080/db

QUERY

http://localhost:8080/query?queries=

CACHED QUERY

http://localhost:8080/cached_query?queries=

UPDATE

http://localhost:8080/update?queries=

Batch update SQL statement in case of Postgres is generated by ORM as such:

update table set field = v.field from (SELECT unnest(?), unnest(?)) as v(id, field) where t.id = v.id

Nested select is a reason of warning for tfb --verify

FORTUNES

http://localhost:8080/fortunes