Benchmark
Projection runs once per build over every entry at once, so it scales with the size of the documentation set rather than with any one document. Validation is measured alongside it because graph-backed hosts pay for it on every projector call — it reads a fixed 100-entry presentation and so does not vary with the input.
System
Benchmark suite executing on the following system:
| Operating System | macOS |
|---|---|
| CPU Information | Apple M4 Max |
| Number of Available Cores | 16 |
| Available Memory | 128 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 entries
Run Time
| Name | IPS | Average | Deviation | Median | 99th % |
|---|---|---|---|---|---|
| GraphProjector.validate/1 | 175.92 K | 5.68 µs | ±74.30% | 5.63 µs | 7.79 µs |
| StaticGenerator.project/1 | 37.88 K | 26.40 µs | ±12.92% | 25.21 µs | 40.13 µs |
Run Time Comparison
| Name | IPS | Slower |
|---|---|---|
| GraphProjector.validate/1 | 175.92 K | |
| StaticGenerator.project/1 | 37.88 K | 4.64x |
Memory Usage
| Name | Average | Factor |
|---|---|---|
| GraphProjector.validate/1 | 4.08 KB | |
| StaticGenerator.project/1 | 47.54 KB | 11.66x |
Input: 100 entries
Run Time
| Name | IPS | Average | Deviation | Median | 99th % |
|---|---|---|---|---|---|
| GraphProjector.validate/1 | 170.95 K | 5.85 µs | ±74.65% | 5.71 µs | 8.25 µs |
| StaticGenerator.project/1 | 4.03 K | 248.08 µs | ±4.60% | 247 µs | 292.60 µs |
Run Time Comparison
| Name | IPS | Slower |
|---|---|---|
| GraphProjector.validate/1 | 170.95 K | |
| StaticGenerator.project/1 | 4.03 K | 42.41x |
Memory Usage
| Name | Average | Factor |
|---|---|---|
| GraphProjector.validate/1 | 4.08 KB | |
| StaticGenerator.project/1 | 477.02 KB | 116.97x |
Input: 500 entries
Run Time
| Name | IPS | Average | Deviation | Median | 99th % |
|---|---|---|---|---|---|
| GraphProjector.validate/1 | 172.69 K | 0.00579 ms | ±84.49% | 0.00567 ms | 0.00804 ms |
| StaticGenerator.project/1 | 0.50 K | 2.00 ms | ±39.25% | 1.44 ms | 3.39 ms |
Run Time Comparison
| Name | IPS | Slower |
|---|---|---|
| GraphProjector.validate/1 | 172.69 K | |
| StaticGenerator.project/1 | 0.50 K | 345.37x |
Memory Usage
| Name | Average | Factor |
|---|---|---|
| GraphProjector.validate/1 | 0.00398 MB | |
| StaticGenerator.project/1 | 2.34 MB | 588.49x |