Проект для сравнения производительности PHP на разных железках и операционках.
Текущие кейсы:
- Генерация JSON (Hello World)
- Чтение/запись файла
- Чтение/запись в PostgreSQL
- Нагрузку по памяти
Используются Docker, Composer, Make, .env и простейший DI-контейнер.
- Docker + Docker Compose
- GNU Make
- Клонировать репозиторий:
git clone https://github.com/bemyslavedarlin/benchphp.git
cd benchphp
- Заполнить настройки:
cp .env.example .env
- Собрать проект:
make
# or
make build
make up
make composer-instal
make benchmark HelloWorldBenchmark
docker-compose exec -T php php /app/bin/benchmark.php HelloWorldBenchmark --iterations=10
# or for all
make benchmarks
- Реализация от интерфейса
interface BenchmarkInterface {
public function handle(array $options = []): array;
}
- ПР в репозиторий