2# Copyright (C) 2004 Brion Vibber <brion@pobox.com> 
    5# This program is free software; you can redistribute it and/or modify 
    6# it under the terms of the GNU General Public License as published by 
    7# the Free Software Foundation; either version 2 of the License, or 
    8# (at your option) any later version. 
   10# This program is distributed in the hope that it will be useful, 
   11# but WITHOUT ANY WARRANTY; without even the implied warranty of 
   12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
   13# GNU General Public License for more details. 
   15# You should have received a copy of the GNU General Public License along 
   16# with this program; if not, write to the Free Software Foundation, Inc., 
   17# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 
   29        dl( 
'php_utfnormal.so' );
 
   32require_once 
'include/Unicode/UtfNormal.php';
 
   34define( 
'BENCH_CYCLES', 5 );
 
   36if( php_sapi_name() != 
'cli' ) {
 
   37        die( 
"Run me from the command line please.\n" );
 
   41        'testdata/washington.txt' => 
'English text',
 
   42        'testdata/berlin.txt' => 
'German text',
 
   43        'testdata/bulgakov.txt' => 
'Russian text',
 
   44        'testdata/tokyo.txt' => 
'Japanese text',
 
   45        'testdata/young.txt' => 
'Korean text' 
   56        print "Testing $filename ($desc)...\n";
 
   67                array( 
'fastDecompose', 
'fastCombiningSort', 
'fastCompose' ),
 
   68#               
'quickIsNFC', 
'quickIsNFCVerify',
 
   70        foreach( $forms as $form ) {
 
   71                if( is_array( $form ) ) {
 
   73                        foreach( $form as 
$step ) {
 
   83        $st = explode( 
' ', microtime() );
 
   84        return (
float)$st[0] + (float)$st[1];
 
   89        #$start = benchTime(); 
   95        #$delta = (benchTime() - $start) / BENCH_CYCLES; 
   97        $delta = $deltas[0]; # Take shortest time
 
   99        $rate = intval( strlen( 
$data ) / $delta );
 
  102        printf( 
" %20s %6.1fms %12s bytes/s (%s)\n",
 
  105                number_format( $rate ),
 
  106                ($same ? 
'no change' : 
'changed' ) );
 
foreach($testfiles as $file=> $desc) benchmarkTest(&$u, $filename, $desc)
benchmarkForm(&$u, &$data, $form)
if(php_sapi_name() !='cli') $testfiles
global $utfCanonicalDecomp
An exception for terminatinating execution or to throw for unit testing.
static loadData()
Load the basic composition data if necessary.
foreach($_REQUEST as $var) foreach(array('_POST'=> 'HTTP_POST_VARS', '_GET'=> 'HTTP_GET_VARS', '_COOKIE'=> 'HTTP_COOKIE_VARS', '_SERVER'=> 'HTTP_SERVER_VARS', '_ENV'=> 'HTTP_ENV_VARS', '_FILES'=> 'HTTP_POST_FILES') as $array=> $other) $step
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']