Sha256: b3019873dcfc010fe351c0c88255060d43b0c08a6a13b014fc4bcb513b15a3f8

Contents?: true

Size: 864 Bytes

Versions: 4

Compression:

Stored size: 864 Bytes

Contents

# Benchmarks

## Copy on Write Efficiency

This benchmark aimed to compare real memory usage of different 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

4 entries across 4 versions & 1 rubygems

Version Path
pitchfork-0.16.0 benchmark/README.md
pitchfork-0.15.0 benchmark/README.md
pitchfork-0.14.0 benchmark/README.md
pitchfork-0.13.0 benchmark/README.md