You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Anton Tagunov <at...@mail.cnt.ru> on 2003/06/30 11:22:53 UTC
Re[2]: [SURVEY] Commons-URI or not?
Hi, All!
AT> A recent test that I have carried out showed that .charAt() is
AT> 1.8 - 1.9 times slower then [] on a char array, just in case I attach
AT> the test case.
Oopps, have fogotten the test, here it is in this mail.
And here are the results I got
Results for 'abcdefghijk'
string version: 426.6
array version: 242.4
coeff = 1.75990099009901
Results for 'ab?defghijk'
string version: 441.6
array version: 233.3
coeff = 1.8928418345477926
Results for '??????aaaaaaa'
string version: 510.8
array version: 272.4
coeff = 1.8751835535976504
public class B
{
public final static String STR1 = "abcdefghijk";
public final static String STR2 = "ab\u1234defghijk";
public final static String STR3 =
"\u0401\u0402\u0403\u1234\u1234\u1234aaaaaaa";
public final static int AVG = 10;
public final static long ITER = 1000000l;
private static int sum;
public static final void test( final String str, final int avg,
final long iter )
{
final int len = str.length();
final char[] arr = str.toCharArray();
final long t1 = System.currentTimeMillis();
for ( int a = 0; a < avg; ++a )
{
sum = 0;
for ( long i = 0; i < iter; ++i )
{
for ( int j = 0; j < len; ++j )
{
sum += str.charAt( j );
}
}
}
final long t2 = System.currentTimeMillis();
for ( int a = 0; a < avg; ++a )
{
sum = 0;
for ( long i = 0; i < iter; ++i )
{
for ( int j = 0; j < len; ++j )
{
sum += arr[ j ];
}
}
}
final long t3 = System.currentTimeMillis();
System.out.println( "Results for '" + str + "'\n" +
" string version: " + ((double)( t2 - t1 ) / avg ) + "\n" +
" array version: " + ((double)( t3 - t2 ) / avg ) + "\n" +
" coeff = " + ((double)( t2 - t1 )/(double)( t3 - t2 )) );
}
public static void main( String args[] )
{
test( STR1, AVG, ITER );
test( STR2, AVG, ITER );
test( STR3, AVG, ITER );
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org