<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pipeline on Lucille</title><link>https://kmwtechnology.github.io/lucille/docs-0.10.0/architecture/components/pipeline/</link><description>Recent content in Pipeline on Lucille</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 09 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://kmwtechnology.github.io/lucille/docs-0.10.0/architecture/components/pipeline/index.xml" rel="self" type="application/rss+xml"/><item><title>Pipeline Internals</title><link>https://kmwtechnology.github.io/lucille/docs-0.10.0/architecture/components/pipeline/pipeline-internals/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><guid>https://kmwtechnology.github.io/lucille/docs-0.10.0/architecture/components/pipeline/pipeline-internals/</guid><description>&lt;h2 id="what-a-pipeline-is"&gt;What a Pipeline Is&lt;/h2&gt;
&lt;p&gt;A Pipeline is an ordered sequence of Stages. When a Document enters the Pipeline, it flows through each Stage in order. Each Stage modifies the Document in place and may optionally generate child Documents. The Pipeline returns an Iterator over all Documents that emerged from the processing — the original (possibly modified) Document plus any children generated along the way.&lt;/p&gt;
&lt;p&gt;The key insight is that the Pipeline does not eagerly process everything and return a collection. It returns a &lt;strong&gt;lazy Iterator&lt;/strong&gt; that processes Documents on demand as &lt;code&gt;next()&lt;/code&gt; is called. This has profound implications for memory usage, especially when stages generate children.&lt;/p&gt;</description></item></channel></rss>