Echo, print, printf: Who’s the fastest?

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

Who’s the fastest at CPU? Echo, Print or printf?

Sample material:

  • Machine: HP Pavilion dv6058cl Notebook;
  • Operation system: ArchLinux, x86-64 architecture;
  • PHP version 5.3.0
  • Environment: Bash, without X. XFS filesystem.
  • File echo.php:
    <?php for ($i = 0; $i < 100000; $i++) { echo "This is a simple testn"; } ?>
  • File print.php:
    <?php for ($i = 0; $i < 100000; $i++) { print "This is a simple testn"; } ?>
  • File printf.php:
    <?php for ($i = 0; $i < 100000; $i++) { printf("This is a simple testn"); } ?>


  1. Run each of the PHP script 100 times, and store the execution time of each one:

    for i in `seq 1 100`; do (time php echo.php > o_echo.txt) 2>> t_echo.txt; done;

    for i in `seq 1 100`; do (time php print.php > o_print.txt) 2>> t_print.txt; done;

    for i in `seq 1 100`; do (time php printf.php > o_printf.txt) 2>> t_printf.txt; done;

    Note: Between each test, the PC was turned off and turned on again after 30 seconds;

  2. To consider only the output line sys of the time command, ’cause only the CPU time was considered on this test;
  3. To order the time of execution of each script, from the lowest to the highest;
  4. Throw out the first and last 25 results of execution time of each script;
  5. To plot the remaining sample results and trace the average line of execution for each command.

The result? Here is it:

Gráfico resultante

Conclusion: The test shows that the print command is the fastest when you need to output text. The time to redirect and store the output of each file were counted as the execution of the script (possible failure).

Future test ideas:

  • Long strings (output of a NOWDOC or HEREDOC variable);
  • To interpolate numeric and strings variables together.

One thought on “Echo, print, printf: Who’s the fastest?

Leave a Reply

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

You are commenting using your 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