the-benchmarker / web-frameworks

Which is the fastest web framework?
MIT License
6.91k stars 641 forks source link

Add AdonisJS #6184

Closed dslingr closed 1 year ago

dslingr commented 1 year ago

This framework is great to work with. Curious to see how it stacks up against others.


Closes #118

waghanza commented 1 year ago

Thanks for this PR. I appreciate any participation in this project

waghanza commented 1 year ago

I do not have access to node ace build --production

I have a

[ error ]  "build" command not found
dslingr commented 1 year ago

I do not have access to node ace build --production

I have a

[ error ]  "build" command not found

I've re-added the dev dependency "adonisjs/assembler". Try again when you can.

waghanza commented 1 year ago

no change

/usr/src/app # node ace

dump
  dump:rcfile            Dump contents of .adonisrc.json file along with defaults

generate
  generate:key           Generate a new APP_KEY secret
  generate:manifest      Generate ace commands manifest file. Manifest file speeds up commands lookup

list
  list:routes            List application routes

Global Flags
  -h, --help boolean
  -v, --version boolean
waghanza commented 1 year ago

I take the liberty to push into your PR @dslingr. CI will be ok 👍 but not sure this implementation is as-slim-as it can

Also, I think the folder need to be named adonisjs instead of adonisjs-slim, since the framework behind is adonisjs, slim is just the type of implementation

waghanza commented 1 year ago

@thetutlage @RomainLanz @targos @Julien-R44 would you be so kind to review the implementation in here ? the idea is to have a bare minimal implementation of adonijs that could be directly used in production

waghanza commented 1 year ago

cc @kalicki @judasane @mrrfly @galaczi

RomainLanz commented 1 year ago

It would be better to set up Adonis 6 instead of 5 since the test target the slim version.

Also, I am not what we are benchmarking here. If we want to only benchmark the HTTP server, it would be better to use @adonisjs/http-server directly.

We already have a benchmark for the next version: https://github.com/adonisjs/http-server/blob/next/benchmarks/adonisjs.ts

Benchmark Result

dalisoft commented 1 year ago

@waghanza I would like to see a little simpler version of framework. And I'm curious, how much performance it gets against other frameworks and libraries

waghanza commented 1 year ago

@dalisoft Maybe what suggested @RomainLanz is what you could expect here.

Indeed this version is mainly about testing http part (but this will change in some future)

When AdonisJS 6.x will be out ? Maybe if it is close, you should wait a little bit

dalisoft commented 1 year ago

@waghanza It could be better waiting or submitting more simplified version of code. After seeing this, some of frameworks looks like a library :) Too much files and comments for simple benchmarking routes.

Maybe I'm thinking wrong or i am not understanding properly.

waghanza commented 1 year ago

Maybe you are more able to review typescript than me 😉😉

dalisoft commented 1 year ago

@waghanza TypeScript types looks fine for me. Very safe codebase. It if could be a little simpler and less code, it will be just gold, at least for me

waghanza commented 1 year ago

@dslingr Could you change your PR with something like https://github.com/adonisjs/http-server/blob/master/benchmarks/adonis.ts ?

dslingr commented 1 year ago

I can certainly give it a shot.

RomainLanz commented 1 year ago

Better to use the one in the next branch (Adonis 6).

https://github.com/adonisjs/http-server/blob/next/benchmarks/adonisjs.ts

waghanza commented 1 year ago

I prefer not to (at least for now) @RomainLanz. There is a bot here that will PR when 6 will be out, and then we will adapt

waghanza commented 1 year ago

I will update results for monday (will start on sunday 03:00 CET). If you want I can work in your PR @dslingr

dslingr commented 1 year ago

I will update results for monday (will start on sunday 03:00 CET). If you want I can work in your PR @dslingr

By all means. I won't be near a computer until Monday morning.

waghanza commented 1 year ago

ok, I'll update this PR ❤️

waghanza commented 1 year ago

Maybe I have merge too early, but I will produce some results on monday (I use to make some fresh results each monday).

Feel free to take a closer look at the code ❤️ and PR if necessary

dslingr commented 1 year ago

Thank you for completing this.

waghanza commented 1 year ago

Results are updated https://web-frameworks-benchmark.netlify.app/result?l=javascript