What is FrameworkBenchmark and how to contribute

What is FramrworkBenchmark?

This is a performance comparison of many web application frameworks executing fundamental tasks such as JSON serialization, database access, and server-side template composition. Each framework is operating in a realistic production configuration.

How many frameworks are present?

The benchmarking happens in rounds that sit few months apart. The latest Round 20 was completed in February 2021 and covered 247 different frameworks. SWI-Prolog was one of the submissions. See details here: TechEmpower Framework Benchmarks

What are the different tests?

The test specifications can be found here: Project Information Framework Tests Overview · TechEmpower/FrameworkBenchmarks Wiki · GitHub

Which database backend case I choose?

There are PostgreSQL and MySQL backends. I remember the time there was MongoDB but I am not sure I see that anymore.

Do I have to wait few months till I see how my submission fares?

No, fortunately, you don’t. There are continuous intermediate benchmarks starting every few days, the progress of which can be tracked here: https://tfb-status.techempower.com/

How do I contribute?

  • Fork the complete repository: GitHub - TechEmpower/FrameworkBenchmarks: Source for the TechEmpower Framework Benchmarks project

  • Verify the submission (requires docker) by executing: ./tfb --mode verify --test swi-prolog

  • Make changes to the code under: frameworks/Prolog/SWI-Prolog. The mode here is “shared ownership”, nobody really owns the submission so feel free to take over.

  • Run some benchmarks: ./tfb --mode benchmark --test swi-prolog

  • Commit, and create a pull request.

3 Likes