PHP ORM Benchmark
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

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


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


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

How to Benchmark

(1) Install this repository and install composer packages.

$ git clone
$ 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


Other Benchmarks