-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Go - Unfair example #26
Comments
This is not correct, http.ListenAndServe will use a goroutine for each request. Also the garbage collector will use multiple CPU cores when given them. |
tarndt yes, you are right http://golang.org/src/pkg/net/http/server.go?s=32056:32111#L1057 my mistake. |
@TechEmpower @BeCreative-Germany It sounds like this issue can be closed? |
michaelhixson
added a commit
to michaelhixson/FrameworkBenchmarks
that referenced
this issue
Apr 23, 2018
Here's an example of the error output from before this change: Unhandled exception: Bad state: Stream was already listened to #0 _RawServerSocket.listen (dart:io-patch/socket_patch.dart:1106) TechEmpower#1 new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:123) TechEmpower#2 _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:91) TechEmpower#3 _ForwardingStream.listen (dart:async/stream_pipe.dart:86) TechEmpower#4 _ServerSocket.listen (dart:io-patch/socket_patch.dart:1351) TechEmpower#5 _HttpServer.listen (dart:io/http_impl.dart:2278) TechEmpower#6 _startServer.<anonymous closure> (file:///server.dart:88:12) TechEmpower#7 _RootZone.runUnary (dart:async/zone.dart:1371) TechEmpower#8 _FutureListener.handleValue (dart:async/future_impl.dart:129) TechEmpower#9 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636) TechEmpower#10 _Future._propagateToListeners (dart:async/future_impl.dart:665) TechEmpower#11 _Future._completeWithValue (dart:async/future_impl.dart:478) TechEmpower#12 Future.wait.<anonymous closure> (dart:async/future.dart:362) TechEmpower#13 _RootZone.runUnary (dart:async/zone.dart:1371) TechEmpower#14 _FutureListener.handleValue (dart:async/future_impl.dart:129) TechEmpower#15 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636) TechEmpower#16 _Future._propagateToListeners (dart:async/future_impl.dart:665) TechEmpower#17 _Future._completeWithValue (dart:async/future_impl.dart:478) TechEmpower#18 Future.wait.<anonymous closure> (dart:async/future.dart:362) TechEmpower#19 _RootZone.runUnary (dart:async/zone.dart:1371) TechEmpower#20 _FutureListener.handleValue (dart:async/future_impl.dart:129) TechEmpower#21 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636) TechEmpower#22 _Future._propagateToListeners (dart:async/future_impl.dart:665) TechEmpower#23 _Future._completeWithValue (dart:async/future_impl.dart:478) TechEmpower#24 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:510) TechEmpower#25 _microtaskLoop (dart:async/schedule_microtask.dart:41) TechEmpower#26 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50) TechEmpower#27 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:99) TechEmpower#28 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:152)
NateBrady23
pushed a commit
that referenced
this issue
Apr 24, 2018
Here's an example of the error output from before this change: Unhandled exception: Bad state: Stream was already listened to #0 _RawServerSocket.listen (dart:io-patch/socket_patch.dart:1106) #1 new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:123) #2 _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:91) #3 _ForwardingStream.listen (dart:async/stream_pipe.dart:86) #4 _ServerSocket.listen (dart:io-patch/socket_patch.dart:1351) #5 _HttpServer.listen (dart:io/http_impl.dart:2278) #6 _startServer.<anonymous closure> (file:///server.dart:88:12) #7 _RootZone.runUnary (dart:async/zone.dart:1371) #8 _FutureListener.handleValue (dart:async/future_impl.dart:129) #9 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636) #10 _Future._propagateToListeners (dart:async/future_impl.dart:665) #11 _Future._completeWithValue (dart:async/future_impl.dart:478) #12 Future.wait.<anonymous closure> (dart:async/future.dart:362) #13 _RootZone.runUnary (dart:async/zone.dart:1371) #14 _FutureListener.handleValue (dart:async/future_impl.dart:129) #15 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636) #16 _Future._propagateToListeners (dart:async/future_impl.dart:665) #17 _Future._completeWithValue (dart:async/future_impl.dart:478) #18 Future.wait.<anonymous closure> (dart:async/future.dart:362) #19 _RootZone.runUnary (dart:async/zone.dart:1371) #20 _FutureListener.handleValue (dart:async/future_impl.dart:129) #21 _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636) #22 _Future._propagateToListeners (dart:async/future_impl.dart:665) #23 _Future._completeWithValue (dart:async/future_impl.dart:478) #24 _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:510) #25 _microtaskLoop (dart:async/schedule_microtask.dart:41) #26 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50) #27 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:99) #28 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:152)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Go is a concurrent system programming language the strength is its ability to produce scalable and reliable software. In your example you set the MAXPROCESS config high but don´t use gorotines to make it parallel/concurrent that´s like feature cutting and that´s no scenario where the language can show his nature of working.
The text was updated successfully, but these errors were encountered: