Benchmarking of attribution methods of PHP

Você pode ler este post em português também.

Hey!!

This post will show you a benchmarking among the attribution ways supported by PHP:

a) Simple attribution (ex.: $j = $j + 1);
b) Right association attribution (ex.: $j += 1);
c) Non-associative attribution (ex.: $j++);

Test material:

  • PC: Dell Optiplex 755;
  • Environment: Bash, without X. Ext4 filesystem;
  • uname -a:
    Linux optiplex755 2.6.34.8-68.fc13.x86_64 #1 SMP Thu Feb 17 15:03:58 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

  • php -v:
    PHP 5.3.5 (cli) (built: Jan 7 2011 18:46:32)
    Copyright (c) 1997-2010 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

All the files used and generated by the test can be downloaded here. The applied methodology follows:
1) Turn off the PC by one minute;
2) @ bash: for i in `seq 1 100`; do echo $i && php t1.php >> t1_output01.log; done;
3) Turn off the PC by one more minute;
4) @ bash: for i in `seq 1 100`; do echo $i && php t1.php >> t1_output02.log; done;
5) Turn off the PC again, by one more minute;
6) @ bash: for i in `seq 1 100`; do echo $i && php t1.php >> t1_output03.log; done;

The t1.php, t2.php and t3.php has each one three log files with its execution times. The 300 results of each script got ordered by by its execution time (ascendant way) and throwed out the 100 best and the 100 worst values, giving to us only the 100 best average execution times.

The result:

Graph - Comparing the execution times

Graph - Comparing the execution times

The graph shows that the use of “($j += 1)” or “($j++)” method can give you 0.02 second of advantage, in average.

We are going to modify our Coding Standards documents to preferring one of advantage methods that I have showed in this comparison, saving even more processing time.

About Adriano Laranjeira

Software engineer & developer See more at http://about.me/arglbr
This entry was posted in English and tagged , , , , . Bookmark the permalink.

1 Response to Benchmarking of attribution methods of PHP

  1. Pingback: Adriano Laranjeira » Blog Archive » Benchmark de métodos de atribuição do PHP

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s