#15 More documentation.
diff --git a/org.jacoco.doc/docroot/doc/agent.html b/org.jacoco.doc/docroot/doc/agent.html
index 75ba76c..1f314bd 100644
--- a/org.jacoco.doc/docroot/doc/agent.html
+++ b/org.jacoco.doc/docroot/doc/agent.html
@@ -20,7 +20,8 @@
JaCoCo uses class file instrumentation to record execution coverage data.
Class files are instrumented on-the-fly using a so called Java agent. This is
mechanism allows in-memory pre-processing of all class files during class
- loading independent of the application framework.
+ loading independent of the application framework. The JaCoCo agent collects
+ execution information and dumps it to a local file when the JVM exits.
</p>
<p class="hint">
diff --git a/org.jacoco.doc/docroot/doc/implementation.html b/org.jacoco.doc/docroot/doc/implementation.html
index f2e8595..8be12f6 100644
--- a/org.jacoco.doc/docroot/doc/implementation.html
+++ b/org.jacoco.doc/docroot/doc/implementation.html
@@ -243,13 +243,25 @@
<h2>Memory Usage</h2>
<p class="intro">
-
+ Coverage analysis for huge projects with several thousand classes or hundred
+ thousand lines of code should be possible. To allow this with reasonable
+ memory usage the coverage analysis is based on streaming patterns and
+ "depth first" traversals.
</p>
<p>
- TODO: Streaming, Deep first
+ The complete data tree of a huge coverage report is too big to fit into a
+ reasonable heap memory configuration. Therefore the coverage analysis and
+ report generation is implemented as "depth first" traversals. Which means that
+ at any point in time only only the following data has to be held in main
+ memory:
</p>
+<ul>
+ <li>A single class which is currently processed.</li>
+ <li>The summary information of all parents of this class (package, groups).</li>
+</ul>
+
<h2>Java Element Identifiers</h2>
<p class="intro">