Rust standardizing on libnative is the right move, IMO. The "evented" bits belong in something like Erlang I/O servers /cc @carllerche
@charliesome my understanding is goroutines have similar behavior. Not sure how often people get tripped up by them
-
-
@bascule@charliesome People don't get tripped up often. There is control of how big the native pool is and the lang has no thread-locals. -
@evanphx@charliesome I was wondering more about Goroutines not-being preemptive (I think?) -
@bascule@charliesome They're preemptive. -
@evanphx@charliesome doesn't it work kind of like a GIL, i.e. the goroutine needs to yield? -
@bascule@charliesome A goroutine gets a timeslice and there are checkpoints, yes. And goroutines can migrate between native threads. -
@evanphx@charliesome for a system call or long-running/blocking native call, it needs to yield to the scheduler though, right? -
@bascule@charliesome That's a special case. If a goroutine starts running code the scheduler can't see, it shunts it to special thread.
End of conversation
New conversation -
-
-
@bascule@charliesome there's goroutine preemption since Go 1.2: http://golang.org/doc/go1.2#preemption … (design doc: https://docs.google.com/document/d/1ETuA2IOmnaQ4j81AtTGT40Y4_Jr6_IDASEKg0t0dBR8/edit …) -
@dchest@charliesome sort of preemptive except if they make a native call, kind of like Erlang and NIFs
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.