I’m going to be speaking at OSCON this year about Go performance. The title of the talk is High performance servers without the event loop and will focus on the features of the language and its runtime that transparently let Go programmers write high performance network servers without resorting to event loops and callback spaghetti.
As the OSCON website is a bit light on for details, here are some more to entice you.
Conventional wisdom suggests that high performance servers require native threads, or more recently, event loops.
Neither solution is without its downside. Threads carry a high overhead in terms of scheduling cost and memory footprint. Event loops ameliorate those costs, but introduce their own requirements for a complex callback driven style.
A common refrain when talking about Go is it’s a language that works well on the server; static binaries, powerful concurrency, and high performance.
This talk focuses on the last two items, how the language and the runtime transparently let Go programmers write highly scalable network servers without having to worry about thread management or blocking I/O.
The goal of this talk is to introduce the following features of the language and the runtime:
- Escape Analysis
- Stack management
- Processes and threads vs goroutines
- Integrated network poller
These four features work in concert to build an argument for the suitability of Go as a language for writing high performance servers.
How does a 20% discount sound ?
O’Reilly have provided me with a discount code DAVEC20 that you can use to save 20% on your registration.
As a bonus, if enough people register for OSCON using the discount code DAVEC20, the organisers have said they will give me a free pass to the event which I plan to donate to Women Who Code. I know that this is a lot of ifs, but it is worth a try.
So, if you’re interested in hearing me, and hundreds of others speak at OSCON this year, you can save yourself 20% and recieve some good karma in the process. What’s too lose ?