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

hono is only tested using node, should be tested using bun #7219

Closed
bompus opened this issue Feb 12, 2024 · 6 comments · Fixed by #7224
Closed

hono is only tested using node, should be tested using bun #7219

bompus opened this issue Feb 12, 2024 · 6 comments · Fixed by #7224

Comments

@bompus
Copy link

bompus commented Feb 12, 2024

hono is native to bun, with an adapter to support node. It looks like your current implementation is only using the node engine with the node server adapter.

If tested using bun, without the node adapter, it should rank between stricjs and elysia, based on my own testing.

@waghanza
Copy link
Collaborator

you are right @bompus , hono should be tested at least on

  • node
  • bun
  • deno

before, this is already possible, but the UI should first be adapted for that (planned but I don't have any ETA)

@bompus
Copy link
Author

bompus commented Feb 13, 2024

@waghanza I wonder if it's possible without a UI update, to just label them with suffixes like hono (node), hono (bun), hono (deno). It makes the list longer, but wouldn't require a UI update to add an engine column/filter.

@waghanza
Copy link
Collaborator

Sure @bompus, it could be easily done

Feel free to open a PR, I will follow 😉

@bompus
Copy link
Author

bompus commented Feb 20, 2024

Thank you for tackling this!

I saw the latest results, and they don't line up with my own experience and tests. On Bun, hono and elysia should be right up there with stricjs, very close to it in terms of performance. However, both hono-bun and elysia are way down on the list, and I'm not sure why.

I compared the configs, cluster, app files between stricjs, hono-bun, and elysia, and they all look correct to me, but the performance just doesn't line up with what I see when I run bun cluster.ts on my own VM.

Perhaps this should be a new issue, but it's so recent I figure we could discuss here, just in case something was missed somewhere, or perhaps the results parser is parsing something incorrectly?

@waghanza
Copy link
Collaborator

I am not sure why both frameworks should be close, but indeed stricjs seems far away

https://web-frameworks-benchmark.netlify.app/result?f=hono-bun,stricjs,elysia

Worth to investigate

A PR could be open with debug enabled to understand why this diff. Also there is the idea of timeout. The actual sieging command is removing all requests with a timeout greater than 1 sec.

Maybe we should try to get wrk raw output (stress tool direct output, without any calculation)

@waghanza
Copy link
Collaborator

Also be aware that network in use is a loopback, not a real connection

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

Successfully merging a pull request may close this issue.

2 participants