Zoglair vs Others

The CMS market is very competitive as there are literally hundredths of them! Each one has something to offer and appeal to a certain audience. Most of them fall into the category of generic article/news publishing, a function that is used to be closest to the CMS concept.

We took the three most popular open-source solutions, plus a commercial one (for which we have a license), run some metrics on them and came up with the following table. This is by no means a conclusive proof of anything. It is just an informal and comparative list of cold figures, for which you can draw your own conclusions.

latest versions on
6 November 2011
Drupal 7.9 Drupal
Joomla Joomla!
vBulletin vBulletin
Wordpress WordPress
zoglair zoglair
File Size : zip3.07 MB7.07 MB10.54 MB3.80 MB2.06 MB
: installed10.72 MB16.39 MB29.32 MB9.43 MB3.64 MB
File Count : folders1199993289745
: files101443812809948305
Database Tables48/73 ?342381116
Peak Memory2.75 MB2.25 MB3.50 MB16.75 MB0.50 MB
Processing Time0.19 s0.34 s0.26 s0.35 s0.13 s
Default Home Page
(click to zoom)
CMS Comparison: Drupal 7.9CMS Comparison: Joomla 1.7.2CMS Comparison: vB 4.1.7pl2CMS Comparison: WordPress 3.2.1CMS Comparison: zoglair

Here is an explanation of what you see in the above table:

File Size
Both, compressed archive and expanded directory, file sizes are recorded. Smaller sizes indicate less bloating, although with a lot of salt, because one must take into account the size of images and other non source code files, as well as each application's capabilities.
File Count
Less folders indicate a cleanest directory structure, which is easier to follow, comprehend and maintain. The same goes for file count, however, a smaller file count can also indicate bigger source code files, fat classes or more clever design.
Database Tables
This is kind of a philosophical issue, as it involves big vs thin data models, normalization rules and other academic principles. Plus content types, of course. Nevertheless, a unjustified high number of tables leads to an increased DBMS burden, both in terms of memory and processing time. Also, the more complex a database schema is, the less portable it becomes.
This is the number of queries executed for displaying the home page. It is a consensus that less is better, although the needed time for these queries to execute is arguably more important.
Peak Memory
Memory is a finite resource and can have a dramatic effect on scaling. Simply put, if you have an X amount of memory installed and you need Y of it for each page request, then it is obvious that you cannot serve more than X/Y pages at a time. So, less is definitely better.
Processing Time
Equally important and on par with memory usage.

Please note that worst “performances” are marked with red type, and best with green.


CMS Comparison: Results We used a HP Elite 7000 (i5-750@2.67GHz, 4GB RAM) PC, running Windows 7, with the following (MoWeS) AMP stack:

  • Apache 2.2.11
  • MySQL 5.1.35
  • PHP 5.3.0

For the file size and count, we consulted our file manager (Servant Salamander). Database tables were shown in phpMyAdmin. For the rest of the metrics, we used a small script, attached for your reference.

All applications were tested on their defaults, immediately after installation. Each test was run 3 times (so that session and caching were properly initialized) on a fresh AMP instance. To our surprise, guest visits measured worse in a couple of platforms (not ours)! That is really strange, since a non-guest visit has additional queries and delivered content... Anyway, we decided to record performances under the (default) admin account, in all cases. Feel free to make your own measures!

The Script

Here is the script we used to measure the number of queries, memory usage and processing time. Feel free to modify and/or distribute. If you find an error or an improvement, please send us a note!

Download Benchmark Script


Zoglair in Action

FacebookTwitterVimeoYou TubeRSSsd
(C) Nick B. Cassos - All Rights Reserved
powered by zoglair
page generated in 40ms (14 queries, 8ms)
invisible cron image