<?php

require 'src/wp-load.php';

$array = array_fill( 0, 1000000, rand( 1, 9999 ) );

$start = microtime( true );
$export = json_encode( $array );
$end = microtime( true );
$duration = $end - $start;
print( "json_encode: $duration\n" );

$start = microtime( true );
$export = wp_json_encode( $array );
$end = microtime( true );
$duration = $end - $start;
print( "wp_json_encode overhead: $duration\n" );

$eucjp = mb_convert_encoding( 'aあb', 'EUC-JP', 'UTF-8' );
$array[0] = $eucjp;

$start = microtime( true );
$export = wp_json_encode( $array );
$end = microtime( true );
$duration = $end - $start;
print( "Best case wp_json_encode: $duration\n" );

$array = array();

for ( $aa = 0; $aa < 10; $aa++ ) {
	$array[ $aa ] = array();
	for ( $bb = 0; $bb < 10; $bb++ ) {
		$array[ $aa ][ $bb ] = array();
		for ( $cc = 0; $cc < 10; $cc++ ) {
			$array[ $aa ][ $bb ][ $cc ] = array();
			for ( $dd = 0; $dd < 10; $dd++ ) {
				$array[ $aa ][ $bb ][ $cc ][$dd ] = array();
				for ( $ee = 0; $ee < 10; $ee++ ) {
					$array[ $aa ][ $bb ][ $cc ][$dd ][ $ee ] = array();
					for ( $ff = 0; $ff < 10; $ff++ ) {
						$array[ $aa ][ $bb ][ $cc ][$dd ][ $ee ][ $ff ] = $eucjp;
					}
				}
			}
		}
	}
}

$start = microtime( true );
$export = wp_json_encode( $array );
$end = microtime( true );
$duration = $end - $start;
print( "Worst case wp_json_encode: $duration\n" );

