News for hackers. Stuff that matters.
Re:Zero-cost futures in Rust by gpderetta on Thursday August 11, 2016 @05:44PM (#12271793)
Except when the IO doesn't go though the kernel in the first place of course.
Re:Zero-cost futures in Rust by pcwalton on Thursday August 11, 2016 @05:48PM (#12271832)
What I/O doesn't go through the kernel?
Re:Zero-cost futures in Rust by Matthias247 on Friday August 12, 2016 @05:53AM (#12274355)
For I/O you can buffer inside the application whether the respective file is readable/writeable or not. If it's not readable you can directly switch to another goroutine without invoking a syscall. The scheduler will later get notified by select/epoll that the file is readable/writeable, adjust the buffered status and reschedule the goroutine.

But ok, for reading you might often have a buffered state of readable while in reality it's not and you only get this information through EAGAIN on read, so you won't avoid the syscall there. For writing you most likely always would.

Re:Zero-cost futures in Rust by gpderetta on Thursday August 11, 2016 @06:11PM (#12271995)
For the example if you are using kernel bypass of the network stack, which is increasingly common in high throughput/low latency applications.
Re:Zero-cost futures in Rust by haimez on Thursday August 11, 2016 @10:03PM (#12273003)
If you're going to bypass the kernel network stack for performance, you're definitely not going to write the rest of your code in go. The garbage collector, goroutine scheduler, and conservative compile time optimizations will totally undermine the end goal.

If you're in that world, you're using C, C++, or That if you're feeling dangerous.

Re:Zero-cost futures in Rust by pjmlp on Friday August 12, 2016 @03:02AM (#12273793)
The JVM is used a lot in Fintech.

Of course it isn't the OpenJDK, rather specialized JVMs like Azul or they code using C style coding with the GC out of the out paths, having profiled the applications with tools like Java Mission Control.

These are the customers driving Oracles effort for value types, AOT compilation and JNI replacement.

Why not just use C and C++, one might ask?

In spite of all these tricks and required knowledge, salaries are lower than for C and C++ developers and overall project costs are anyway lower due to shorter development times for the other tools not available in C and C++.

Hence why Fintech nowadays is looking into languages like Pony, because they don't want to wait for Java 10, if possible.

So an area where Rust might eventually earn some friends.

Re:Zero-cost futures in Rust by kasey_junk on Thursday August 11, 2016 @11:01PM (#12273159)
I've done kernel bypass work on the JVM.
Re:Zero-cost futures in Rust by gpderetta on Friday August 12, 2016 @09:37AM (#12275486)
FWIW, I wasn't thinking bout go.
Re:Zero-cost futures in Rust by saosebastiao on Thursday August 11, 2016 @07:23PM (#12272419)
Is anybody doing kernel bypass networking in go?