Sha256: 28b1ead19c425adf8e5386f2d60cfeec221c53dc208e52d694f64d8bd38d0f43

Contents?: true

Size: 864 Bytes

Versions: 15

Compression:

Stored size: 864 Bytes

Contents

# Benchmarks

## Copy on Write Efficiency

This benchmark aimed to compare real memory usage of differnet servers.

For instance, Puma 2 workers + 2 threads:

```bash
$ PORT=9292 bundle exec benchmark/cow_benchmark.rb puma -w 2 -t 2 --preload
Booting server...
Warming the app with ab...
Memory Usage:
Single Worker Memory Usage: 207.5 MiB
Total Cluster Memory Usage: 601.6 MiB
```

Pitchfork 4 workers:

```bash
$ PORT=8080 bundle exec benchmark/cow_benchmark.rb pitchfork -c examples/pitchfork.conf.minimal.rb 
Booting server...
Warming the app with ab...
Memory Usage:
Single Worker Memory Usage: 62.6 MiB
Total Cluster Memory Usage: 320.3 MiB
```

The `constant_caches.ru` application is specifically crafted to demonstrate how shared memory regions
get invalidated as applications execute more and more code.

It is an extreme example for benchmark purposes.

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
pitchfork-0.12.0 benchmark/README.md
pitchfork-0.11.1 benchmark/README.md
pitchfork-0.11.0 benchmark/README.md
pitchfork-0.10.0 benchmark/README.md
pitchfork-0.9.0 benchmark/README.md
pitchfork-0.8.0 benchmark/README.md
pitchfork-0.7.0 benchmark/README.md
pitchfork-0.6.0 benchmark/README.md
pitchfork-0.5.0 benchmark/README.md
pitchfork-0.4.1 benchmark/README.md
pitchfork-0.4.0 benchmark/README.md
pitchfork-0.3.0 benchmark/README.md
pitchfork-0.2.0 benchmark/README.md
pitchfork-0.1.2 benchmark/README.md
pitchfork-0.1.1 benchmark/README.md