Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, today I just discovered the Crystal language and was amazed with performance of HTTP server.
I was trying to implement the fork model based multi process HTTP server but I ran into the problem that once you start listen to the TCPServer I am unable to fork anymore so I add one more method to allow use
HTTP::Server.bind
&HTTP::Server.run
to make possible fork the process and then start accepting connections.Here is my small code example I was trying to test
Here is performance difference between single process and 4 process.
Difference is not so big as I was only running 2 threads but still really not bad improvement and ability to extend HTTP server to work bit differently then intended.
P.S. I am yet not much familiar with project so if I miss something please tell me I will try to help.
P.P.S I opened this pull request as open discussion on this topic.