pavel.mash f3fcbdfc66 [mORMot] - upgrade to [email protected] before Round 23 8 месяцев назад
..
src 0e9ad232a2 [mORMot] - upgrade to [email protected] with HTTP pipelining mode improvements 9 месяцев назад
README.md 0905e4068a Complete mORMot2 benchmarks (Pascal language) (#7481) 3 лет назад
benchmark_config.json 6bc92fd992 [mORMot] - [email protected] + refactoring (#9457) 9 месяцев назад
mormot.dockerfile 84b9953abc [mORMot] - migrate to Ubuntu24.04; [email protected]; return to glibc MM (#9072) 1 год назад
setup_and_build.sh f3fcbdfc66 [mORMot] - upgrade to [email protected] before Round 23 8 месяцев назад

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