21 comments

[ 3.1 ms ] story [ 67.7 ms ] thread
darn, was hoping this was for the protocol
I've stumbled uppon it recently (significant active use was before my time) and I'm in love with its simplicity compared with modern formats. I was hoping for something to get me into the protocol as well.
Making gopher even faster is probably a challenge worth a talk :)
When I saw the headline I thought for a moment this was about the protocol.

https://en.wikipedia.org/wiki/Gopher_(protocol)

Really? Would you care to talk about your work with the gopher protocol and it's application in today's computing environment?
Reading the title I was actually hoping for a Gopher revival movement as a way to denounce the bloat surrounding HTTP and the mountain of protocols built haphazardly on top of it. Needless to say that I projected hard.
There are many conventions held around technologies no longer in common use, but which still have an avid following of those that still find usefulness or enjoyment from them.

For example, conferences around the Amiga and the Commodore 64 are still going on in 2018. I would honestly not be surprised if there was truly a conference dedicated to the Gopher protocol out there.

If there was, I would totally want to read about it here. :)

Gopher is not the only topic, but Bitreich Con had some talks about gopher like "Migrating the web to gopher".

gopher://bitreich.org/1/con/2018

Wow, there is a whole gopher community again! That's amazing!
I find the simplest way to performance tune Go programs is to wait for the next release.
I wonder are people really using go where performance is bottlenecking on code (and not say network)?
In most cases likely not, but there are some people using Go for CPU-bound stuff. There was a guy at gophercon yesterday who did a pretty cool demo of a raytracer he wrote in Go. He talked about the 15x performance improvement it had over using Javascript. I would definitely not choose to build a raytracer in Javascript, and probably not even in Go either. C, C++, Rust, are probably the most common choices made by people who are building something that is seriously CPU-bound.
About 6 years ago we adopted Scala for our server side language, and for the past 4 years we have been migrating old code that was CPU/memory hungry to go and getting very good results. All new code, if it's going to be cpu/memory intense, we write it in Go.

For non C/C++ developers, Go is much easier to work with and get performance benefits that before would only be possible by porting to C, or you end up not writing idiomatic Scala, which defeats the purpose of using Scala (imho)

That's fine, but I'm genuinely curious as to what you're finding to be cpu/memory intense. I don't know enough about scala to know if there isn't something the jvm is running poorly because "it wasn't designed to be that way". I deploy on elixir, and everything is not very big and quite acceptably performant even though I have two containerized instances of beam on an amazon t2 micro.

Ooh for me, more than 50 connections a second would be unusual, but also the service really should never die.

performance improvements untill 1.9 were great, but last few releases performance improvements were meh. Maybe we have reached the peak.
There used to be a lot of low-hanging fruit. Now bigger GC and compiler changes are probably necessary to get noticeable wins. The compiler still lacks mid-stack inlining and de-virtualization which would probably give a noticeable performance boost.

Of course, maybe by then, gccgo/gollvm will have just as good a runtime and be the way to go if you want performance.

Or maybe they are just prioritizing non-performance tasks like debugging and Go 2.

Anyone know of any (video) talks with a similar Go performance testing theme?
How is something with "gopher" in the name not about gopher? That's misleading.