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

how about the performance #63

Closed
introspection3 opened this issue Oct 12, 2018 · 5 comments
Closed

how about the performance #63

introspection3 opened this issue Oct 12, 2018 · 5 comments

Comments

@introspection3
Copy link

  1. does it use libuv?
    2.how about the performance vs nginx or apache?
@c42f
Copy link

c42f commented Oct 13, 2018

  1. Julia 1.0 uses libuv in the runtime to handle async tasks so the performance profile should currently be similar to node. However, when the parallel task runtime arrives (WIP: parallel task runtime JuliaLang/julia#22631) tasks will be able to run on multiple threads. The concurrent performance profile will then improve to be more similar to go.

  2. No idea yet, I'm just starting to think about using Genie!

@essenciary
Copy link
Member

essenciary commented Oct 14, 2018

  1. You can't really compare Genie, which is a web framework, with Nginx or Apache, which are web servers.

Genie does bundle HTTP.jl. So I guess if you want to compare servers, you can just ask the developers of HTTP.jl.

However, the servers are not exclusive. For instance, my approach in production is to use Nginx as a reverse proxy and cache layer for Genie apps running on HTTP.jl.

Regarding performance in general, at this point, I'm more concerned about features, stability, and documentation. Julia should provide a good enough performance foundation - any bottlenecks can be fixed later on by refactoring the problematic functions.

@introspection3
Copy link
Author

thanks !

@fargolo
Copy link

fargolo commented Jun 14, 2019

This is a C10k benchmark comparing Nodejs, Apache and HTTP.jl:
https://github.com/aj-monk/C10k.jl

@essenciary
Copy link
Member

@fargolo Interesting benchmark, thanks for sharing. A few comments:

  • HTTP.jl is at 0.8.x now and I understood that performance has improved - it would be interesting to recheck
  • although Julia is really good at file IO, I don't think a file server is the best use case for Julia. Ngnix is much-much-much better at serving static files than most anything else so in a real production environment that's what we'd use. Outputting a JSON string would be a more realistic and relevant test.

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