<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Benchmarks on Pi Stack</title>
    <link>https://www.pistack.xyz/tags/benchmarks/</link>
    <description>Recent content in Benchmarks on Pi Stack</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 10 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.pistack.xyz/tags/benchmarks/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>EJML vs Apache Commons Math vs ND4J in 2026: Which JVM Math Library Should You Actually Use?</title>
      <link>https://www.pistack.xyz/posts/2026-11-10-jvm-math-libraries-ejml-commons-math-nd4j-2026/</link>
      <pubDate>Tue, 10 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://www.pistack.xyz/posts/2026-11-10-jvm-math-libraries-ejml-commons-math-nd4j-2026/</guid>
      <description>&lt;p&gt;Multiply two 1,000 × 1,000 matrices on the JVM and the wall clock can differ by more than an order of magnitude depending on which library you imported — same JDK, same CPU, same heap. That gap is not a hardware problem. It is a data-layout and dispatch problem, and it is decided the moment you add a dependency to &lt;code&gt;pom.xml&lt;/code&gt;. Three libraries cover most of the JVM&amp;rsquo;s numerical work: &lt;strong&gt;EJML&lt;/strong&gt; (616 stars, 0.46.1), &lt;strong&gt;Apache Commons Math&lt;/strong&gt; (659 stars, 3.6.1 stable with 4.0 in beta), and &lt;strong&gt;ND4J&lt;/strong&gt; (part of the Eclipse DeepLearning4j monorepo, 14,277 stars, 1.0.0-M2.1). They are not interchangeable, and picking the wrong one costs you either throughput or a 1 GB container image.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
