Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
96 lines (67 sloc) 2.58 KB

PHP ORM Benchmark

ORMs to Benchmark

  1. Doctrine ORM v2.5.2
  2. Eloquent ORM (illuminate/database) v4.2.17
  3. FuelPHP Orm 1.7.3
  4. Phalcon ORM 2.0.8
  5. Propel ORM 2.0-dev
  6. Yii ActiveRecord 1.1.16
  7. Yii ActiveRecord 2.0.6

Results

These are my benchmarks, not yours. I encourage you to run on your (production equivalent) environments.

Benchmarking Environment

  • CentOS 6.6 64bit (VM; VirtualBox with Vagrant Synced folder)
    • PHP 5.5.30 (Remi RPM)
      • Zend OPcache v7.0.4-dev
    • MySQL 5.1
    • Apache 2.2

(2015-12-10)

orm time (ms) memory (KB)
doctrine 109.81 1310.06
propel2 51.32 1144.60
eloquent 34.46 673.80
yii1 17.84 808.48
fuel 11.74 389.72
yii2 9.09 835.82
phalcon 7.25 150.05

If you are interested in other resutls, see OTHER_RESULTS.md.

How to Benchmark

(1) Install this repository and install composer packages.

$ git clone https://github.com/kenjis/php-orm-benchmark.git
$ cd php-orm-benchmark
$ composer install

You may skip Phalcon by running composer install --ignore-platform-reqs, if you do not have it installed.

(2) Set public folder as your web document root. If you access http://localhost/, you can see the results graph.

(3) Configure fuel/app/config/development/db.php.

(4) Create database php_dev and import schema schema/php_dev.sql.

$ php oil r setup:mysql

(5) Generate config file for Propel.

$ php oil r setup:propel2

(6) Run benchmarks.

$ php oil r benchmark

See http://localhost/.

You can get markdown table for the results.

$ php oil r show:result_table

References

Other Benchmarks