Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap 🚀 #3108

Open
1 of 5 tasks
waghanza opened this issue Jul 7, 2020 · 18 comments
Open
1 of 5 tasks

Roadmap 🚀 #3108

waghanza opened this issue Jul 7, 2020 · 18 comments

Comments

@waghanza
Copy link
Collaborator

waghanza commented Jul 7, 2020

Hi,

This project has a learning / promotion purpose in the first place.

The idea is to have :

  • a list of awesome frameworks
  • a list of production indicators (performance at first glance, but others will come)
  • a as fair as possible comparison between them

Next steps are :

Regards


(Open to discussion)

Regards,

@waghanza waghanza pinned this issue Jul 7, 2020
@waghanza waghanza changed the title Roadmap 🚀 Roadmap 🚀 Jul 8, 2020
@septatrix
Copy link

I would also suggest pypy for Python

@waghanza
Copy link
Collaborator Author

Thanks for your suggestion. As a global reflexion, I'm not sure it is very useful to check those results for all VMs since it increase a lot the complexity (maintenance) for this project.

For example, we have 28 frameworks in python, and checking for :

  • python
  • ironpython
  • pypi
  • graalpython

would add 28*3 (+ in case of multiple engines [hypercorn, uvicorn, gunicorn ...])

I think for our sake that we need to stick on a restricted list (what is mainly used)

wdyt @ahopkins @the-benchmarker/web-frameworks ?

@ahopkins
Copy link
Member

I would say test against the latest version of python that all frameworks support. The bigger question is not how fast a framework can perform. Benchmarks for those numbers are highly suspect and cannot really tell you that since there are too many factors. What benchmarks can give you are an idea of relative performance. For that, we need one baseline version, which should (IMO) be the latest version which all tested frameworks support.

@waghanza
Copy link
Collaborator Author

waghanza commented Mar 3, 2021

With your comment @ahopkins, and as long as I work on #3958, I think that using variants is over-engineering.

I mean, in my mind variants could be :

  • an engine, for example puma
  • a vm, for example truffleruby
  • a dialect, for example jruby

We have better to introduce only engines (the more relevant example is node in javascript), and introduce vm later

@SuspiciousLookingOwl
Copy link
Member

Having a clean UI to expose results (/cc @doanguyen I'll ask for you help when the time will come)

Sorry if this sounds like a self promotion, but I made a web app (using React) to show the data in Chart (filterable by frameworks) and Table (filterable by language and sortable).

Chart
Table

Demo: https://web-frameworks-benchmark.netlify.app/
Repo: https://github.com/SuspiciousLookingOwl/web-frameworks-benchmark

@waghanza
Copy link
Collaborator Author

should be promoted in the README @SuspiciousLookingOwl

what do you think @the-benchmarker/web-frameworks ?

@dalisoft
Copy link
Member

@waghanza I sure it should be in README, looks nice and works good

@waghanza
Copy link
Collaborator Author

@SuspiciousLookingOwl your idea seems awesome. I see however that you are parsing README.md file directly from github. The README was not made for that, then I can break your parsing.

If you prefer, I can export raw data as json, and push them (on next result update)

@SuspiciousLookingOwl
Copy link
Member

I agree that parsing the md file isn't an ideal solution. My target was having the web app to always shows the latest data from this repo without too much hassle on my end.

If you prefer, I can export raw data as json, and push them (on next result update)

That sounds awesome! It will be great if you can do that 😁

@waghanza
Copy link
Collaborator Author

I've created a discussion @SuspiciousLookingOwl
#4165

@SuspiciousLookingOwl
Copy link
Member

IMO #3803 should also be in the roadmap.

@waghanza
Copy link
Collaborator Author

Agree @SuspiciousLookingOwl, I've updated the roadmap

  • I change flavors to engines. Initially I wanted to run all frameworks on various things (like jruby, deno, rhino) but seems too complicated.

@bung87
Copy link
Contributor

bung87 commented Jun 1, 2021

hey, I have some thoughts after adding my project to this project and https://github.com/TechEmpower/FrameworkBenchmarks

  1. Compare to TechEmpower/FrameworkBenchmarks this project does not constrain the http headers.
  2. Newer added framework may take high priority and within its language and platform etc.
  3. Compiled language and non-compiled language may results in different categories , generally compiled language will be n x faster than non-compiled language

@waghanza
Copy link
Collaborator Author

waghanza commented Jun 1, 2021

hey, I have some thoughts after adding my project to this project and https://github.com/TechEmpower/FrameworkBenchmarks

thank you for that ❤️

  1. Compare to TechEmpower/FrameworkBenchmarks this project does not constrain the http headers.

not yet, it is planned, but some work have to be done before

  1. Newer added framework may take high priority and within its language and platform etc.

could you specify you though ? I don't get you here

  1. Compiled language and non-compiled language may results in different categories , generally compiled language will be n x faster than non-compiled language

the idea is NOT to show only performances, but all valuable insights (resources consumptions, performances, latencies ...) about frameworks

@bung87
Copy link
Contributor

bung87 commented Jun 1, 2021

about 2. eg. my project scorper just added may run it first then run other frameworks written in Nim then run rest frameworks. if any error occurs the author does not need wait for long.

@cyrusmsk
Copy link
Contributor

cyrusmsk commented Mar 5, 2024

Any news on the Roadmap?

@waghanza
Copy link
Collaborator Author

waghanza commented Mar 6, 2024

I plan to rewrite readme and to integrate it in a more clear way in README.md

@cyrusmsk
Copy link
Contributor

cyrusmsk commented Apr 7, 2024

I plan to rewrite readme and to integrate it in a more clear way in README.md

Maybe create a task with sub-tasks and somebody also will make a PR for tests improvements?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants