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

can we make this a little more ready to use the numbers serious? #1631

Closed
claudiug opened this issue Aug 1, 2019 · 5 comments
Closed

can we make this a little more ready to use the numbers serious? #1631

claudiug opened this issue Aug 1, 2019 · 5 comments

Comments

@claudiug
Copy link

claudiug commented Aug 1, 2019

Hello,

I guess will be great if we will try to see how other scenarios work. I do have some example

  • json
  • routing tree
  • render html
  • single query
  • multiple queries

I totally understand that this is really complicated, and will ate a lot of time. For ruby, kotlin, java, python, I can write the code.
And we shall use what developers are using, not some fancy library quite fast, but used by 2 people.

We can even combine the scenarios like this
/routeA/1/routeB/2
and here we could return
html render data from db(single and multiple queries)
/route/A/1/
and here we return json
single and multiple queries

@waghanza
Copy link
Collaborator

waghanza commented Aug 2, 2019

Hi @claudiug,

The implementations here are very simple. It's on purpose, and that why we have plenty of framework here.

If we can KISS all implementations here, it will be for the best.

I understand the frustration, as a developer, with having simple implementations, but the most important here is not how are frameworks implemented here, but having the same implementations.

It will be over-complicated to handle more than simple endpoints.

However, in the future, I plan to make a part of this project a tool, and replicate it under other poject to compare :

  • html rendering
  • database querying
  • graphql api
  • rest api
    ...

Regards,

@caesaneer
Copy link

caesaneer commented Aug 14, 2019

@waghanza I have to agree with @claudiug. The tests are actually quite useless for real life application/making informed businesses decisions in their current state. I can't imagine any credible developer making a business decision based on the data you provide. I don't mean any offence by this but the servers actually need to do some work to see how they perform.

I've been doing my own testing to see how certain languages/frameworks of interest perform under load, such as crypto/reading files/generating large lists of data/etc.. I've been doing this to decide what language/framework is best for a service migration. A language/framework you think is good based on these "empty tests", could actually perform terribly when subjected to actually having to do some sort of work, under serious loads.

For example, Kotlin/Ktor was keeping up with Go in our tests but once we added a Fibonacci Sequence, pushing results to an array, Kotlin/Ktor got slaughtered by Go. And funny enough, Node.js in cluster mode beat Go by 30%.

With that said, I look forward to seeing how you grow your tests and keep up the good work.

@OvermindDL1
Copy link
Collaborator

Kotlin/Ktor was keeping up with Go in our tests but once we added a Fibonacci Sequence, pushing results to an array, Kotlin/Ktor got slaughtered by Go.

Something was not programmed well in Kotlin then, they both can lower to very efficient machine code.

And I think the purpose of this repo is to see the 'overhead' of the library, not the effect of user code that uses the library.

@waghanza
Copy link
Collaborator

@claudiug @danielcasler For me, we simply can not provide any data that you take any business decision based on those data.

The idea behind this project (concerning any decision making perspective), is to provide a benchmark tool so as you can generate your data and to take decision from them.

@waghanza
Copy link
Collaborator

Hi @claudiug @danielcasler @OvermindDL1,

I have tought of #1728 to have more realistic implementations, here.

Let me know what you think

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

4 participants