Site Projection and Export

Copy Markdown View Source

Benchmark

Site projection includes page admission, anchor and link resolution, navigation, search, and digests. Static export includes rendering, search serialization, link validation, staged writes, and replacement. The destination is reused to measure the normal replacement path. Memory figures are BEAM allocations reported by Benchee, not peak resident memory.

PagesSearch recordsSearch bytesOutput filesOutput bytes
1050231821941216
100500233112109392851
500250011740625091967950

System

Benchmark suite executing on the following system:

Operating System macOS
CPU Information Apple M5 Pro
Number of Available Cores 18
Available Memory 48 GB
Elixir Version 1.18.4
Erlang Version 27.3.4.15

Configuration

Benchmark suite executing with the following configuration:

:time 5 s
:parallel 1
:warmup 2 s

Statistics

Input: 10 pages

Run Time

Name IPS Average Deviation Median 99th %
SiteProjector.project/1 245.50 4.07 ms ±3.29% 4.04 ms 4.53 ms
StaticExporter.export/1 113.19 8.83 ms ±9.15% 8.81 ms 10.65 ms

Run Time Comparison

Name IPS Slower
SiteProjector.project/1 245.50  
StaticExporter.export/1 113.19 2.17x

Memory Usage

Name Average Factor
SiteProjector.project/1 11.73 MB  
StaticExporter.export/1 6.40 MB 0.55x

Input: 100 pages

Run Time

Name IPS Average Deviation Median 99th %
SiteProjector.project/1 24.68 40.52 ms ±1.82% 40.27 ms 42.81 ms
StaticExporter.export/1 15.39 64.97 ms ±3.82% 65.15 ms 81.36 ms

Run Time Comparison

Name IPS Slower
SiteProjector.project/1 24.68  
StaticExporter.export/1 15.39 1.6x

Memory Usage

Name Average Factor
SiteProjector.project/1 117.13 MB  
StaticExporter.export/1 62.31 MB 0.53x

Input: 500 pages

Run Time

Name IPS Average Deviation Median 99th %
SiteProjector.project/1 4.88 204.86 ms ±0.79% 204.50 ms 210.14 ms
StaticExporter.export/1 2.86 349.09 ms ±12.35% 338.92 ms 504.04 ms

Run Time Comparison

Name IPS Slower
SiteProjector.project/1 4.88  
StaticExporter.export/1 2.86 1.7x

Memory Usage

Name Average Factor
SiteProjector.project/1 585.74 MB  
StaticExporter.export/1 311.04 MB 0.53x