What apparent lack of support for asynchronous IO you're talking about?
Just do IO in a separate goroutine(s).
-j
As I red in the documentation Go is designed for SMP processing :
with blocking IO and threads communicating through channels.
Asynchronous IO is known empirically to be more efficient (see nignx for instance).
So I would like to know what does Go provide to support asynchronous IO ?
Let say something like libev using non blocking IO.
The efficiency difference depends of course on the type of application and the dependency of threads.
While I'm very pleased by the language simplicity, but the apparent lack of support for asynchronous IO is not attractive.
I would expect that Go could be as fast as the JVM machines in this benchmark
http://www.techempower.com/benchmarks/#section=data-r3
My feeling is that the first requirement to aim this objective would be support asynchronous IO.
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Could you be more explicit on why what I perceive as synchonous IO actualy isn't ?
Fully agree that callbacks is a hell, but when performance is critical, and the tasks not too complex, it may be worth the effort.
Communication between threads introduces an uncrontrollable latency that increases with the load of the host because we depend on the OS scheduler. A single threaded app does it's own IO processing scheduling by hand and without any need for thread synchronization. This is why it's more efficient I guess.
-- Bien cordialement, Ch. Meessen