<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data-Parallelism on Cedric Bail</title><link>http://bluebugs.github.io/tags/data-parallelism/</link><description>Recent content in Data-Parallelism on Cedric Bail</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 19 Jun 2025 18:48:59 -0700</lastBuildDate><atom:link href="http://bluebugs.github.io/tags/data-parallelism/index.xml" rel="self" type="application/rss+xml"/><item><title>Data Parallelism: simpler solution for Golang?</title><link>http://bluebugs.github.io/blogs/go-data-parallelism/</link><pubDate>Thu, 19 Jun 2025 18:48:59 -0700</pubDate><guid>http://bluebugs.github.io/blogs/go-data-parallelism/</guid><description>&lt;h2 id="why-data-parallelism-matters-in-go">Why Data Parallelism Matters in Go&lt;/h2>
&lt;p>Go is a fast language, but it lacks easy ways to express data parallelism and does not provide direct access to low-level &lt;strong>SIMD&lt;/strong> (Single Instruction Multiple Data) instructions. As a result, standard libraries like &lt;a href="https://github.com/golang/go/issues/19636">base64&lt;/a>, &lt;a href="https://github.com/golang/go/issues/68188">hex&lt;/a>, &lt;a href="https://github.com/golang/go/issues/63347">utf8&lt;/a>, &lt;a href="https://github.com/golang/go/issues/53178">json&lt;/a>, &lt;a href="https://github.com/golang/go/issues/24499">jpeg&lt;/a>, and &lt;a href="https://github.com/golang/go/issues/71255">map&lt;/a> are slower than expected. Other ecosystems are more likely to adopt specialized, high-performance libraries, which is why, in some cases, for example, Node.js can outperform Go.&lt;/p>
&lt;p>The solution to this bottleneck is for the Go compiler to generate SIMD instructions. There are three main approaches to enabling SIMD in programming languages:&lt;/p></description></item></channel></rss>