<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/benchmark/array_join_regression.yml, branch master</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Speed up Array#join with a memcpy fast path</title>
<updated>2026-06-11T18:59:01+00:00</updated>
<author>
<name>Yaroslav Markin</name>
<email>yaroslav@markin.net</email>
</author>
<published>2026-06-07T16:12:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=35b7652058a15509864a42a99cabec0dc157a6e4'/>
<id>35b7652058a15509864a42a99cabec0dc157a6e4</id>
<content type='text'>
When every element is a String sharing one ASCII-compatible fast-path
encoding (UTF-8/US-ASCII/ASCII-8BIT) and the separator is compatible, build
the result with a single memcpy pass instead of appending element by element
through rb_str_buf_append. Other cases fall back to the existing path.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When every element is a String sharing one ASCII-compatible fast-path
encoding (UTF-8/US-ASCII/ASCII-8BIT) and the separator is compatible, build
the result with a single memcpy pass instead of appending element by element
through rb_str_buf_append. Other cases fall back to the existing path.
</pre>
</div>
</content>
</entry>
</feed>
