Golang performance benchmarks on arm64 (Qualcomm Centriq 2400)

431 views
Skip to first unread message

Ed Vielmetti

unread,
Nov 8, 2017, 4:57:03 PM11/8/17
to golang-nuts
Vlad Krasnov from Cloudflare has an excellent blog post up about
performance on Qualcomm's new Centriq 2400. In it he discusses
several deficiencies in Go's arm64 support that show up in 
performance numbers that are both less than anticipated and
easily improved.


"Go support for aarch64 is quite disappointing. I am very happy to say that everything compiles and works flawlessly, but on the performance side, things should get better. Is seems like the enablement effort so far was concentrated on the compiler back end, and the library was left largely untouched. There are a lot of low hanging optimization fruits out there, like my 20 minute fix for addMulVVW clearly shows. Qualcomm and other ARMv8 vendors intends to put significant engineering resources to amend this situation, but really any one can contribute to Go. So if you want to live your mark, now is the time."

thanks

Ed

Gerald Henriksen

unread,
Nov 9, 2017, 9:38:24 AM11/9/17
to golan...@googlegroups.com
On Wed, 8 Nov 2017 13:57:03 -0800 (PST), you wrote:

>"Go support for aarch64 is quite disappointing.

>Qualcomm and other ARMv8
>vendors intends to put significant engineering resources to amend this
>situation, but really any one can contribute to Go. So if you want to live
>your mark, now is the time."

I would turn this around and say hardware support for aarch64 is quite
disappointing, and as a result nobody is interested in developing for
it (outside of certain companies who can either afford the hardware
costs or are given the hardware).

If the aarch64 hardware makers want the open source community to
develop and test for aarch64, then they need to make appropriate
hardware available to the community at a cost your average open source
developer can afford. Yes, it nice the blogger in question was given
some (likely very expensive) hardware, but that doesn't apply to the
community in general.

[and this is restriced to ARM, POWER has the same issue]

Jonathan Yu

unread,
Nov 10, 2017, 2:17:08 PM11/10/17
to Gerald Henriksen, golang-nuts
Presumably most of the development will be done by companies (such as CloudFlare) that have a vested interest in a second vendor succeeding, perhaps because of better performance for specific applications (more cores, less energy, better price/performance ratio). Large open source projects (e.g. Debian) will probably get sponsored machines. Smaller projects would presumably be able to "rent" these processors on one of the clouds and might receive some sponsorship as well.

[and this is restriced to ARM, POWER has the same issue]

I assume you mean "not restricted" to ARM. POWER doesn't seem to have really taken off (neither ARM at present, but certainly Centriq is fascinating) despite being opened up (OpenPOWER). I'm not close enough to either of these communities to speculate as to why this is so.

--
Jonathan Yu @jawnsy on LinkedInTwitterGitHubFacebook
“Ever tried. Ever failed. No matter. Try again. Fail again. Fail better.” — Samuel Beckett, Worstward Ho (1983) 

“In an adaptive environment, winning comes from adapting to change by continuously experimenting and identifying new options more quickly and economically than others. The classical strategist's mantra of sustainable competitive advantage becomes one of serial temporary advantage.” — Navigating the Dozens of Different Strategy Options (HBR)
Reply all
Reply to author
Forward
0 new messages