<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Performance on Simple Enough Blog</title><link>https://blog-dev.simpleenough.net/tags/performance/</link><description>Recent content in Performance on Simple Enough Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 11 Feb 2026 10:00:00 +0100</lastBuildDate><atom:link href="https://blog-dev.simpleenough.net/tags/performance/index.xml" rel="self" type="application/rss+xml"/><item><title>Upgrading Your Computer Components: Method, Compatibility, Benchmarks… and Mistakes to Avoid</title><link>https://blog-dev.simpleenough.net/blog/componentcomputer/</link><pubDate>Wed, 11 Feb 2026 10:00:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/blog/componentcomputer/</guid><description>&lt;h1 id="upgrading-your-computer-components-method-compatibility-and-benchmarks" class="heading">Upgrading Your Computer Components: Method, Compatibility, and Benchmarks&lt;a href="#upgrading-your-computer-components-method-compatibility-and-benchmarks" aria-labelledby="upgrading-your-computer-components-method-compatibility-and-benchmarks">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h1>
&lt;p>Upgrading your computer hardware often feels like a &lt;strong>simple and logical process&lt;/strong>:&lt;br>
you identify what feels slow, buy a more powerful component, and install it.&lt;/p>
&lt;p>In practice, many upgrades:&lt;/p>
&lt;ul>
&lt;li>bring &lt;strong>no noticeable performance gain&lt;/strong>,&lt;/li>
&lt;li>introduce &lt;strong>compatibility issues&lt;/strong>,&lt;/li>
&lt;li>or simply move the problem elsewhere.&lt;/li>
&lt;/ul>
&lt;p>So how should you approach it properly?&lt;/p></description></item><item><title>Latency: Understanding, Perceiving, and Mastering an Invisible Delay</title><link>https://blog-dev.simpleenough.net/blog/latency/</link><pubDate>Wed, 28 Jan 2026 09:00:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/blog/latency/</guid><description>&lt;p>Latency is one of those ubiquitous terms in computing, often used to explain a negative feeling — &lt;em>“it lags”&lt;/em>, &lt;em>“it’s slow”&lt;/em> — without its real meaning being clearly understood.&lt;br>
Yet latency is neither a bug nor a simple performance issue: it is a &lt;strong>structural constraint&lt;/strong> of modern computer systems.&lt;/p>
&lt;p>This article offers a comprehensive view of latency:&lt;/p>
&lt;ul>
&lt;li>what it is from a &lt;strong>general perspective&lt;/strong>,&lt;/li>
&lt;li>its &lt;strong>technical definition&lt;/strong>,&lt;/li>
&lt;li>how it is &lt;strong>perceived by users&lt;/strong>,&lt;/li>
&lt;li>the &lt;strong>trade-offs&lt;/strong> it imposes,&lt;/li>
&lt;li>and above all, &lt;strong>how to master it architecturally&lt;/strong>.&lt;/li>
&lt;/ul>
&lt;hr>




&lt;h2 id="i-what-is-latency" class="heading">I. What Is Latency?&lt;a href="#i-what-is-latency" aria-labelledby="i-what-is-latency">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>




&lt;h3 id="1-general-definition" class="heading">1. General definition&lt;a href="#1-general-definition" aria-labelledby="1-general-definition">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h3>
&lt;p>In its simplest sense, &lt;strong>latency&lt;/strong> refers to the &lt;strong>waiting time between an action and the system’s first reaction&lt;/strong>.&lt;/p></description></item><item><title>“It’s slow”, “it lags”, “it bugs”: but in the end, what does it really mean?</title><link>https://blog-dev.simpleenough.net/blog/cabug/</link><pubDate>Tue, 30 Dec 2025 10:00:00 +0100</pubDate><guid>https://blog-dev.simpleenough.net/blog/cabug/</guid><description>&lt;h2 id="introduction" class="heading">Introduction&lt;a href="#introduction" aria-labelledby="introduction">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>In a family, at work, or within a technical team, it is very common to hear: &lt;strong>“it’s slow”&lt;/strong>, &lt;strong>“it lags”&lt;/strong>, or &lt;strong>“it bugs”&lt;/strong>. These expressions are often used interchangeably… &lt;strong>wrongly&lt;/strong>. They mix together problems that actually have nothing to do with each other.&lt;/p>
&lt;p>Understanding the difference between these three situations makes it possible to &lt;strong>explain what is happening more clearly&lt;/strong>, to &lt;strong>react more quickly&lt;/strong>, and above all to &lt;strong>avoid bad solutions&lt;/strong>. A performance issue is not solved like a bug, and a bug never disappears just because the machine has been made more powerful.&lt;/p></description></item><item><title>Optimizing Flutter Performance: build(), keys, and const Widgets</title><link>https://blog-dev.simpleenough.net/blog/optimisationflutter/</link><pubDate>Tue, 15 Jul 2025 09:24:42 +0200</pubDate><guid>https://blog-dev.simpleenough.net/blog/optimisationflutter/</guid><description>&lt;p>This article proposes performance improvements by focusing on three fundamental aspects:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>The build() cycle&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Keys&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Const widgets&lt;/strong>&lt;/li>
&lt;/ul>
&lt;hr>




&lt;h2 id="i-the-build-cycle-understanding-to-optimize" class="heading">I. The build() cycle: understanding to optimize&lt;a href="#i-the-build-cycle-understanding-to-optimize" aria-labelledby="i-the-build-cycle-understanding-to-optimize">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h2>
&lt;p>The &lt;strong>build()&lt;/strong> process is at the core of rendering in Flutter. When a state changes or a widget is rebuilt, the &lt;strong>build()&lt;/strong> method is called. Mismanaging this method can cause significant slowdowns.&lt;/p>




&lt;h3 id="a-when-is-build-triggered" class="heading">A. When is build() triggered?&lt;a href="#a-when-is-build-triggered" aria-labelledby="a-when-is-build-triggered">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h3>
&lt;ol>
&lt;li>During the first widget creation.&lt;/li>
&lt;li>When calling &lt;strong>setState()&lt;/strong>.&lt;/li>
&lt;li>When a parent widget is rebuilt.&lt;/li>
&lt;/ol>




&lt;h3 id="b-techniques-to-reduce-the-build-impact" class="heading">B. Techniques to reduce the build() impact&lt;a href="#b-techniques-to-reduce-the-build-impact" aria-labelledby="b-techniques-to-reduce-the-build-impact">
&lt;!-- &lt;i class="fas fa-link anchor">&lt;/i> -->
 &lt;svg class="svg-inline--fa fas fa-link anchor" fill="currentColor" aria-hidden="true" role="img" viewBox="0 0 640 512">&lt;use href="#fas-link">&lt;/use>&lt;/svg>&amp;nbsp;
 &lt;/a>
&lt;/h3>
&lt;ol>
&lt;li>&lt;strong>Use const in the constructor&lt;/strong>: Creates immutable instances.&lt;/li>
&lt;li>&lt;strong>Break down the build&lt;/strong>: Split the UI into subcomponents to reduce the impact zone.&lt;/li>
&lt;li>&lt;strong>Avoid heavy calculations in build()&lt;/strong>: Delegate tasks to pre-computed functions or separate methods.&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>Example: Optimization with subcomponents&lt;/strong>&lt;/p></description></item></channel></rss>