diff --git a/test/ExampleWorker.js b/test/ExampleWorker.js
index 8a9b074..791c808 100644
--- a/test/ExampleWorker.js
+++ b/test/ExampleWorker.js
@@ -75,8 +75,11 @@ const runExample = options => {
       totalDuration += duration[0] * 1e9 + duration[1];
       totalMemory += process.memoryUsage().heapUsed;
 
-      for (let p = 0; p < engine.pairs.list.length; p += 1) {
-        const pair = engine.pairs.list[p];
+      const pairsList = engine.pairs.list;
+      const pairsListLength = engine.pairs.list.length;
+
+      for (let p = 0; p < pairsListLength; p += 1) {
+        const pair = pairsList[p];
         const separation = pair.separation - pair.slop;
 
         if (pair.isActive && !pair.isSensor) {
diff --git a/test/Examples.spec.js b/test/Examples.spec.js
index b20a0c9..efb2dc9 100644
--- a/test/Examples.spec.js
+++ b/test/Examples.spec.js
@@ -3,6 +3,8 @@
 
 jest.setTimeout(30 * 1000);
 
+const fs = require('fs');
+
 const { 
     comparisonReport, 
     logReport, 
@@ -54,11 +56,14 @@ afterAll(async () => {
     const dev = await capturesDev;
     const build = await capturesBuild;
 
+    const buildSize = fs.statSync('./build/matter.min.js').size;
+    const devSize = fs.statSync('./build/matter.dev.min.js').size;
+
     console.log(
-        'Examples ran against previous release and current version\n\n'
+        'Examples ran against previous release and current build\n\n'
         + logReport(build, `release`) + '\n'
         + logReport(dev, `current`) + '\n'
-        + comparisonReport(dev, build, MatterBuild.version, saveComparison)
+        + comparisonReport(dev, build, devSize, buildSize, MatterBuild.version, saveComparison)
     );
 });
 
diff --git a/test/TestTools.js b/test/TestTools.js
index 67ce103..8504adf 100644
--- a/test/TestTools.js
+++ b/test/TestTools.js
@@ -228,7 +228,7 @@ const logReport = (captures, version) => {
         + (report ? report : '  None\n');
 };
 
-const comparisonReport = (capturesDev, capturesBuild, buildVersion, save) => {
+const comparisonReport = (capturesDev, capturesBuild, devSize, buildSize, buildVersion, save) => {
     const similaritys = captureSimilarityExtrinsic(capturesDev, capturesBuild);
     const similarityEntries = Object.entries(similaritys);
     const devIntrinsicsChanged = {};
@@ -267,8 +267,10 @@ const comparisonReport = (capturesDev, capturesBuild, buildVersion, save) => {
     capturePerformance.sort((a, b) => a.name.localeCompare(b.name));
     similarityEntries.sort((a, b) => a[1] - b[1]);
 
-    let perfChange = noiseThreshold(1 - (totalTimeDev / totalTimeBuild), 0.01);
-    let memoryChange = noiseThreshold((totalMemoryDev / totalMemoryBuild) - 1, 0.01);
+    const perfChange = noiseThreshold(1 - (totalTimeDev / totalTimeBuild), 0.01);
+    const memoryChange = noiseThreshold((totalMemoryDev / totalMemoryBuild) - 1, 0.01);
+    const overlapChange = (totalOverlapDev / (totalOverlapBuild || 1)) - 1;
+    const filesizeChange = (devSize / buildSize) - 1;
 
     let similarityAvg = 0;
     similarityEntries.forEach(([_, similarity]) => {
@@ -277,20 +279,21 @@ const comparisonReport = (capturesDev, capturesBuild, buildVersion, save) => {
 
     similarityAvg /= similarityEntries.length;
 
-    const overlapChange = (totalOverlapDev / (totalOverlapBuild || 1)) - 1;
-
     const report = (breakEvery, format) => [
         [`Output comparison of ${similarityEntries.length}`,
          `examples against previous release ${format('matter-js@' + buildVersion, colors.Yellow)}`
         ].join(' '),
         `\n\n${format('Similarity', colors.White)}`,
         `${format(toPercent(similarityAvg), similarityAvg === 1 ? colors.Green : colors.Yellow)}%`,
-        `${format('Performance', colors.White)}`,
-        `${format((perfChange >= 0 ? '+' : '-') + toPercentRound(Math.abs(perfChange)), perfChange >= 0 ? colors.Green : colors.Red)}%`,
-        `${format('Memory', colors.White)}`,
-        `${format((memoryChange >= 0 ? '+' : '-') + toPercentRound(Math.abs(memoryChange)), memoryChange <= 0 ? colors.Green : colors.Red)}%`,
         `${format('Overlap', colors.White)}`,
-        `${format((overlapChange >= 0 ? '+' : '-') + toPercent(Math.abs(overlapChange)), overlapChange <= 0 ? colors.Green : colors.Red)}%`,
+        `${format((overlapChange >= 0 ? '+' : '-') + toPercent(Math.abs(overlapChange)), overlapChange <= 0 ? colors.Green : colors.Yellow)}%`,
+        `${format('Performance', colors.White)}`,
+        `${format((perfChange >= 0 ? '+' : '-') + toPercentRound(Math.abs(perfChange)), perfChange >= 0 ? colors.Green : colors.Yellow)}%`,
+        `${format('Memory', colors.White)}`,
+        `${format((memoryChange >= 0 ? '+' : '-') + toPercentRound(Math.abs(memoryChange)), memoryChange <= 0 ? colors.Green : colors.Yellow)}%`,
+        `${format('Filesize', colors.White)}`,
+        `${format((filesizeChange >= 0 ? '+' : '-') + toPercent(Math.abs(filesizeChange)), filesizeChange <= 0 ? colors.Green : colors.Yellow)}%`,
+        `${format(`${(devSize / 1024).toPrecision(4)} KB`, colors.White)}`,
         capturePerformance.reduce((output, p, i) => {
             output += `${p.name} `;
             output += `${similarityRatings(similaritys[p.name])} `;