<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>SBCL on (in-parenthesis)</title>
    <link>https://in-parentheses.codeberg.page/tags/sbcl/</link>
    <description>Recent content in SBCL on (in-parenthesis)</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 11 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://in-parentheses.codeberg.page/tags/sbcl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Faster Integer Reading and Printing in SBCL</title>
      <link>https://in-parentheses.codeberg.page/posts/faster-integers-in-sbcl/</link>
      <pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://in-parentheses.codeberg.page/posts/faster-integers-in-sbcl/</guid>
      <description>&lt;p&gt;
After &lt;a href=&#34;https://in-parentheses.codeberg.page/posts/faster-floats-in-sbcl/&#34;&gt;the float work&lt;/a&gt;, the obvious question was: what about integers? They are printed and read probably far more often than floats, in logs, CSV files, protocols and source code. It turns out it was possible to spill the work from float stack into integer stack (pun intended), and the result is in two smaller patches: a fast path in the reader for numbers read from strings, and base-10 printing of integers without a division per digit. Both are in &lt;a href=&#34;https://github.com/amno1/sbcl&#34;&gt;my SBCL fork&lt;/a&gt;, in the branches &lt;a href=&#34;https://github.com/amno1/sbcl/tree/sbcl-read-fast&#34;&gt;sbcl-read-fast&lt;/a&gt; and &lt;a href=&#34;https://github.com/amno1/sbcl/tree/sbcl-int-print&#34;&gt;sbcl-int-print&lt;/a&gt;, and the notes, tests, benchmarks and patches are with the float work in &lt;a href=&#34;https://github.com/amno1/sbcl-faster-float-io&#34;&gt;the same repository&lt;/a&gt;, in &lt;code class=&#34;verbatim&#34;&gt;integers.md&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Faster Float Printing and Reading in SBCL</title>
      <link>https://in-parentheses.codeberg.page/posts/faster-floats-in-sbcl/</link>
      <pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://in-parentheses.codeberg.page/posts/faster-floats-in-sbcl/</guid>
      <description>&lt;p&gt;
I have been working &lt;a href=&#34;https://github.com/amno1/sbcl-faster-float-io&#34;&gt;on a set of patches&lt;/a&gt; for &lt;a href=&#34;https://www.sbcl.org/&#34;&gt;SBCL&lt;/a&gt; that make printing and reading floating-point numbers faster. It turned out quite OK: they are several times faster, and without changing what is printed or read. Printing now uses Victor Zverovich&amp;#39;s &lt;a href=&#34;https://github.com/vitaut/zmij&#34;&gt;zmij&lt;/a&gt; algorithm, and reading uses the Eisel-Lemire algorithm from Daniel Lemire&amp;#39;s &lt;a href=&#34;https://github.com/fastfloat/fast_float&#34;&gt;fast_float&lt;/a&gt;. Everything, the tests, the benchmarks, the results and the patches, is in &lt;a href=&#34;https://github.com/amno1/sbcl-faster-float-io&#34;&gt;sbcl-faster-float-io&lt;/a&gt; on GitHub, and the code is in two branches of &lt;a href=&#34;https://github.com/amno1/sbcl&#34;&gt;my SBCL fork&lt;/a&gt;: &lt;a href=&#34;https://github.com/amno1/sbcl/tree/sbcl-zmij&#34;&gt;sbcl-zmij&lt;/a&gt; for printing and &lt;a href=&#34;https://github.com/amno1/sbcl/tree/sbcl-parse-float&#34;&gt;sbcl-parse-float&lt;/a&gt; for reading. If you would like to try them both out, they are put together &lt;a href=&#34;https://github.com/amno1/sbcl/tree/sb-simd-512&#34;&gt;in this branch&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
