Skip to content

Instantly share code, notes, and snippets.

@c9s
Created December 9, 2011 15:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save c9s/b2a94c94ca66a55814d4 to your computer and use it in GitHub Desktop.
Save c9s/b2a94c94ca66a55814d4 to your computer and use it in GitHub Desktop.
<?php
require( 'src/Phifty/TaskTimer.php' );
use Phifty\TaskTimer;
$size = 1000;
echo "n=$size\n";
$timer = new TaskTimer;
$timer->start( 'pure php iteration' );
$list = range(1,1000);
for( $i = 0 ; $i < $size ; $i++ ) {
$output = '';
$output .= '[';
$cnt = count($list);
for( $i = 0 ; $i < $cnt ; $i++ ) {
if( $i > 0 )
$output .= ',';
$output .= $list[ $i ];
}
$output .= ']';
}
$timer->end()->report();
$timer->start( 'via string join' );
for( $i = 0 ; $i < $size ; $i++ ) {
$output = '[' . join(',',$list) . ']';
}
$timer->end()->report();
$timer->start( 'json_encode' );
for( $i = 0 ; $i < $size ; $i++ ) {
$oiutput = json_encode( $list );
}
$timer->end()->report();
@c9s
Copy link
Author

c9s commented Dec 9, 2011

$ php profiling/encode-json.php
n=1000
Task: pure php iteration Duration: 0.00081992149353027 sec.
Task: via string join Duration: 0.058098077774048 sec.
Task: json_encode Duration: 0.046409845352173 sec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment