Hi @aviatesk,
Did you ever do more detailed profiling and figure out what the slowness was in running your HTTP.jl server?
Sorry for the slow response here, but I’ve been deep in some refactorings of other packages and am circling back around to open HTTP.jl issues and how we can improve things.
I ran some simple “hello world” benchmarks and things seem to be on par with a default node server at least:
ab -n 10000 -c 100 http://0.0.0.0:8086/
node
Percentage of the requests served within a certain time (ms)
50% 31
66% 35
75% 37
80% 39
90% 43
95% 45
98% 48
99% 182
100% 295 (longest request)
julia via HTTP.jl
Percentage of the requests served within a certain time (ms)
50% 39
66% 48
75% 50
80% 52
90% 55
95% 58
98% 87
99% 159
100% 179 (longest request)
julia via HTTP.jl using a HTTP.Router
handler
Percentage of the requests served within a certain time (ms)
50% 44
66% 49
75% 54
80% 55
90% 57
95% 58
98% 59
99% 60
100% 62 (longest request)
ab -n 10000 -c 1000 http://0.0.0.0:8086
node
Percentage of the requests served within a certain time (ms)
50% 81
66% 158
75% 323
80% 330
90% 3722
95% 8698
98% 13259
99% 13420
100% 25887 (longest request)
julia with simple HTTP.Router
Percentage of the requests served within a certain time (ms)
50% 64
66% 75
75% 79
80% 85
90% 1574
95% 7976
98% 14630
99% 21373
100% 21516 (longest request)
If you can share, even if just privately an example of the slowness you’re seeing, I’d love to dive in and figure out what’s going on. Happy to jump on a zoom call if that would be helpful.
@yoh-meyers, (and others), I’d love to invite collaboration on HTTP.jl. Julia has a great history of collaborating on core packages to make them best in class. If you have ideas on how to improve things, I’m more than willing to bring on additional maintainers with HTTP.jl. I have a list myself of 5-10 projects I want to work on, and I’m trying to find ways to encourage others to pitch in on developing/helping out.
Would there be people interested in doing something like a weekly (or biweekly) call to discuss progress on web development topics in Julia? I’m happy to host and help put together an agenda if that would help people get a better feel for where work needs to happen.