#1 2023-11-27 20:08:29

mrbar2000
Member
From: Brazil
Registered: 2016-10-26
Posts: 56

Great performance framework

Hi A. Bouchez

A friend mine was comparing some REST frameworks delphi:

horse (use indy or nethttp) https://github.com/HashLoad/horse
restdataware (use indy or nethttp) 
brooks framework (luse ibsagui Cross-platform library) https://github.com/risoflora/brookframework

We was impressive with benchmarks results with this comparassion.
this lib https://risoflora.github.io/libsagui/ is very very very faster and secure. more fast than HTTP.SYS and it is cross-plataform yet.

I know that u like adjust your framework to get more and more peformance.
My intention is this too.

U make a benchmark tool a sometime ago about this, where we can found this tests? can u include this lib on this benchmarks?

Offline

#2 2023-11-28 08:54:39

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,240
Website

Re: Great performance framework

We simply use the "wrk" tool to benchmark a server configuration.
But we have dedicated tests with concurrent clients, on all supported server protocols (including WebSockets), within our automated regression tests.
https://github.com/synopse/mORMot2/blob … s.pas#L134

We made a lot of tuning after participating to the TFB challenge.
https://www.techempower.com/benchmarks/ … =composite
We finished #12 so it is pretty good.
Our HTTP server was not the bottleneck, because we reach 7,000,000 requests per second like the best framework for pure web (/plaintext) requests.
We have still some performance opportunities, but it is not about the web server (which is able to saturate any modern network link, even with small requests), we could have better number on the single DB requests.
Perhaps libmicrohttpd could give better number than mORMot aync server on the localhost, but it would be very artificial, and never reached on production. This is why a challenge like the TFB is a good idea, even if not perfect.
So mORMot may not have the fastest web server layer, but it is written 100% in pure pascal (no external lib needed), and is fast enough to saturate any actual network hardware.
I would never find tests on localhost interresting.

Anyway, a REST framework is not just a web framework.
You need a JSON stack, an efficient routing and parameters extracting, several model authentication schemes, and some high-level features like interface-based-services definition for both client and server sides.
And you need a WebSockets layer for any modern work. HTTP(S) is not enough today. Users are used to real-time notifications to their applications.
AFAICT the Brook framework is a web framework, not a fully featured REST framework.

It could be a good idea for you to participate to the TFB challenge.
The more pascal frameworks, the better!

Offline

#3 2023-11-28 15:19:35

TPrami
Member
Registered: 2010-07-06
Posts: 109

Re: Great performance framework

ab wrote:

We made a lot of tuning after participating to the TFB challenge.
https://www.techempower.com/benchmarks/ … =composite
We finished #12 so it is pretty good.

OT but...

Is TFB challenge is over or mORMot is not participating anymore?

-Tee-

Offline

#4 2023-11-28 15:25:09

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,240
Website

Re: Great performance framework

The TFB is continuing https://tfb-status.techempower.com/
and mORMot is still in the race.

I suspect next official round 23 will be next Summer...

Offline

#5 2023-11-28 18:16:09

TPrami
Member
Registered: 2010-07-06
Posts: 109

Re: Great performance framework

ab wrote:

I suspect next official round 23 will be next Summer...

I thought that it'll run like couple times a week or something.

But in any case. Follow mORMot progress in this eagerly.

-Tee-

Offline

#6 2023-11-29 07:41:01

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,240
Website

Re: Great performance framework

There are continuous 24/7 rounds, but only one "official" round each year.

Offline

#7 2023-11-29 08:28:14

TPrami
Member
Registered: 2010-07-06
Posts: 109

Re: Great performance framework

ab wrote:

There are continuous 24/7 rounds, but only one "official" round each year.

Roger that...

-Tee-

Offline

#8 2024-04-24 09:13:10

DelphiCritic
Member
Registered: 2024-04-24
Posts: 1

Re: Great performance framework

I've blogged about this.
https://delphinightmares.substack.com/p … wer-delphi

Mormot is ranked #12 and reaching #5 on github tests. Congrats!

Offline

#9 2024-04-24 10:35:07

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,240
Website

Re: Great performance framework

@DelphiCritic

Nice seeing some feedback!
big_smile

Offline

Board footer

Powered by FluxBB