Skip to content

Latest commit

 

History

History
54 lines (33 loc) · 1.32 KB

README.md

File metadata and controls

54 lines (33 loc) · 1.32 KB

Fat-Free PSR-7 implementation

This is a lightweight PSR-7 implementation for PHP 8.0+.

Installation

composer require f3-factory/fatfree-psr7

Usage

The package includes a PSR-17 factory.

Use these factories according to specs to create Request, Response, Uri, Stream objects.

Tests

Run the test suite:

composer test

NB: Custom tests were mostly taken from Nyholm/psr7.

Benchmarks

Benchmarks done with devanych/psr-http-benchmark on php 8.0+.

Checkout benchmark branch, start docker composer, then run in container:

COMPOSER_ROOT_VERSION=1.0 composer update

Run benchmarks on php 8.0+:

cd benchmark/
php benchmark.php fatfree 50000

Test results (best of 3 on MacBook M2 Pro)

Runs: 50,000 Guzzle HttpSoft Laminas Nyholm Slim Fatfree
Runs per second 14412 18608 17641 20549 14444 22233
Average time per run 0.0694 ms 0.0537 ms 0.0567 ms 0.0487 ms 0.0692 ms 0.0450 ms
Total time 3.4691 s 2.6869 s 2.8342 s 2.4331 s 3.4616 s 2.2488 s