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

Hacktoberfest-Friendly Issues #2978

Closed
cjnething opened this issue Oct 2, 2017 · 28 comments
Closed

Hacktoberfest-Friendly Issues #2978

cjnething opened this issue Oct 2, 2017 · 28 comments

Comments

@cjnething
Copy link
Contributor

For all of our Hacktoberfest contributors looking for a great way to get started with the Framework Benchmarks project, this issue is going to be a thread to discuss beginner-friendly tasks in the project.

If you're a beginner contributor: Please feel free to ask any questions you may have on this thread. These can be about the project as a whole, how to find issues, how to create well-organized merge requests, etc.

If you're a veteran contributor: Please comment any issues you think would be a good project for beginners!

Thanks everyone, and Happy Hacktoberfest!

@cjnething
Copy link
Contributor Author

Some ideas:

  • Pick the language/framework of your choice, find a dependency that can be upgraded, and upgrade its version
  • Find a part of the project that is unclear or undocumented, and add some clarity to our documentation

@Iqlaas
Copy link

Iqlaas commented Oct 2, 2017

Thank you @cjnething . Me a beginner contributor.

@wotta
Copy link

wotta commented Oct 2, 2017

@cjnething I see that you use laravel 4.2 to compare but shouldn't it be better to use the latest version ?
If so should I make a new folder named laraver55 or update the existing ?

@NateBrady23
Copy link
Member

@concept-core Updating the existing test would be preferable. Feel free to open a pull request with changes and ask questions there if you need any help. Thanks!

@wotta
Copy link

wotta commented Oct 2, 2017

@nbrady-techempower I will check it out when I am home. Thanks for the answer !

@rafavinnce
Copy link

@cjnething Hi im a beginner contributor to.

@therealahall
Copy link
Contributor

Submitted PR #2992 to upgrade CakePHP to 2.10.3

@garg000dhruv
Copy link

@cjnething First-time contributor "to-be" over here. I'd love to help out and will take a look if I can find something.

@eliascolares
Copy link

Thanks

@NateBrady23
Copy link
Member

Thanks @cjnething for hosting this and thanks everyone for contributing! Take your coats off and stay a while! :)

@flip111
Copy link
Contributor

flip111 commented Dec 12, 2017

Why are languages such as C++ Rust C haskell Go sometimes much slower in the benchmarks than PHP JS Ruby Python? This is so counter intuitive that i don't get these benchmarks at all ...

What about requests/sec, latency, concurrent connections?

@msmith-techempower
Copy link
Member

Why are languages such as C++ Rust C haskell Go sometimes much slower in the benchmarks than PHP JS Ruby Python? This is so counter intuitive that i don't get these benchmarks at all ...

I can write you a poorly performing application in any language.

@flip111
Copy link
Contributor

flip111 commented Dec 12, 2017

I can write you a poorly performing application in any language.

Sure, i just expected the language to matter more than it does now .. are these frameworks really so poorly written ???

@msmith-techempower
Copy link
Member

Sure, i just expected the language to matter more than it does now .. are these frameworks really so poorly written ???

I don't know to which tests, in particular, you refer, but the latest benchmarks (and the next round of previews as well as most of the previous runs) have C/C++/Java as the top performers. Go often does well in several tests also.

Rust is a fairly new language and so I would not expect the frameworks to have had the same amount of time to iterate their designs to increase performance, but Tokio seems to be doing very well.

I cannot speak to Haskell; it is Martian to me.

@flip111
Copy link
Contributor

flip111 commented Dec 13, 2017

For example in json serialization there is api star on 6 and falcon on 12. Both python frameworks. Out perform:

  • revel (GO)
  • rouille (rust)
  • wt (C++)
  • cutelyst-pf (C++)
  • play2-scala-anorm-li (Scala)
  • scruffy (Scala)
  • http4s (Scala)
  • octopus (lua) -- did you try luaJIT by the way?
  • akka-http (Scala)
  • echo (Go)
  • libreactor (C)
  • duda i/o (C)
  • nickel (Rust)
  • lapus (lua)
  • iron (rust)
  • cpoll_cppsp (C++)

Similar things going on for other types of benchmarks

@RX14
Copy link
Contributor

RX14 commented Dec 13, 2017

@flip111 Those python frameworks probably actually execute extremely little python for each request, they will essentially be benchmarking C code which does the HTTP parsing, network, and JSON. And a tiny amount of plumbing code for all those pieces written in python.

@ohsayan
Copy link

ohsayan commented Feb 20, 2019

Have we tried benching against easyjson for Go? I think it might be a good performer. Thoughts?

@cjnething
Copy link
Contributor Author

Hi @sntdevco, here is the list of the frameworks that are currently being benchmarked for Go. The project relies on community contributions for new frameworks, so feel free to open a pull request!

@pgjones
Copy link
Contributor

pgjones commented Apr 23, 2019

Are there any HTTP/2 benchmarks? If not do you have any plans to add HTTP/2 benchmarking?

@bhauer
Copy link
Contributor

bhauer commented Apr 25, 2019

@pgjones Not presently. I just added HTTP/2 to our list of future test types for consideration.

@matbrgz
Copy link
Contributor

matbrgz commented May 13, 2019

This script runs on python2 or python3?

@OranShuster
Copy link

OranShuster commented Feb 9, 2021

@matbrgz

This script runs on python2 or python3?

You can know that by going to the python frameworks folder and looking at the dockerfile
For example, django -
https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/Python/django/django.dockerfile

FROM python:3.9.1-buster

I checked a couple of framework and they all appear to be using some kind of python3 version (although not the latest)

@OranShuster
Copy link

There is something that I'm not sure about.
We can see an environment score for azure/citrine instances but are those the only ones you calculate?

Comparing the 2 scores doesn't give much since the hardware is different. Even if the hardware was the same, it's pretty clear that a bare metal dedicated instance will be faster than a cloud VM.
It would be nice (although very expensive and time consuming) to have a performance index for multiple cloud instance families (perhaps one per family) so you could know how the different families stack up against each other

@sansyrox
Copy link
Contributor

Hi Everyone!

I am the creator of a framework called Robyn(https://github.com/sansyrox/robyn) . What is the process of submitting a framework for testing here? I was unable to find any documentation/links in the readme.

@NateBrady23
Copy link
Member

@sansyrox there’s links in the readme that point to our wiki for submitting tests

@ericadohring
Copy link

ericadohring commented Jul 11, 2022

Could someone point me to documentation that defines what these numbers and percentages mean?

It's clear 100% is better than 18.7%, but I'm not sure what 18.7% (or the 1.5%) in parens means considering there are no errors in any column. Also not sure what the numbers to the left of the 8,870)

result

@msmith-techempower
Copy link
Member

Could someone point me to documentation that defines what these numbers and percentages mean?

It's clear 100% is better than 18.7%, but I'm not sure what 18.7% (or the 1.5%) in parens means considering there are no errors in any column. Also not sure what the numbers to the left of the 8,870)

result

This is a constrained view of the entire base. The numbers suggest that of the shown results, phoenix operated at the max (8,870 req/sec 100%), and rail-postgresql performed at 18.7% of that (1,658 req/sec).

@kangzoel
Copy link

kangzoel commented Aug 6, 2022

I don't understand why ubiquity's score is better than codeigniter 3's.
I tried to setup hello world project: just printing simple hello world, no script, no html. When I refreshed the page ci3 barely show loading animation on the browser tab, but ubiquity's loading animation can be seen clearly. Anyone can explain this?

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

No branches or pull requests