Comments (5)
- 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.
from genie.jl.
This is a C10k benchmark comparing Nodejs, Apache and HTTP.jl:
https://github.com/aj-monk/C10k.jl
from genie.jl.
-
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 (JuliaLang/julia#22631) tasks will be able to run on multiple threads. The concurrent performance profile will then improve to be more similar togo
. -
No idea yet, I'm just starting to think about using
Genie
!
from genie.jl.
thanks !
from genie.jl.
@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.
from genie.jl.
Related Issues (20)
- integration with OpenAPI HOT 5
- Add "base_url" option, to "up()" to lop off referrer route path sent in from proxy servers (e.g. nginx)? HOT 7
- Loading Genie affects conversion of JSON3.Dict into Dict HOT 2
- Passing variables to `html` renderer yields key not found error HOT 4
- hot reload not possible once application hit the error, it require new bootstrap even in GENIE_ENV=dev HOT 4
- Genie.Logger.initialize_logging causes slow Arrow writes HOT 5
- Error reporting dumps sensitive information HOT 3
- Setting EARLYBIND "true" in Dockerfile causes port in use error HOT 3
- index-base transation missing. HOT 1
- Syntax error in first dashboard tutorial HOT 2
- [Bug] can't access own structure's properties in the reactive way HOT 11
- Typos in "your first dashboard" page in the website HOT 3
- Bug: Genie.Renderer.Html.html changes encoding when used with filepath HOT 2
- GC corrution in Genie[Session] HOT 1
- Applications compiled with Genie 5.23.x crashes (expected package `TimeZones [f269a46b]` to exist in the manifest) HOT 1
- Layout example does not work HOT 1
- Issues with the controller example from the docs HOT 4
- Multiple app modules no longer works HOT 6
- How to make the new Genie work behind nginx HOT 12
- Genie gives rise to a large number of GenieSession files via GenieSessionFileSession with enormous footprint >300GB HOT 26
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from genie.jl.