public class Tester { public static void main( String arg[] ) { if ( arg.length!=3) { System.out.println( "Parameters: " ); System.exit( -1 ); } int n = Integer.parseInt( arg[0] ); // Number of operations double p = Double.parseDouble( arg[1] ); // Probability of insertion int maxlen = Integer.parseInt( arg[2] ); // Maximum string length PSSet ps; // SortedSetPSSet RandomString rs = new RandomString( 1000 ); long start1 = System.currentTimeMillis(); ps = new SortedSetPSSet(); for ( int i = 0; i < n; i++ ) { String s = rs.nextString( maxlen ); if ( rs.nextDouble() < p ) ps.add( s ); else ps.retrieveUnique( s ); } long end1 = System.currentTimeMillis(); rs = new RandomString( 1000 ); long start2 = System.currentTimeMillis(); ps = new TriePSSet(); for ( int i = 0; i < n; i++ ) { String s = rs.nextString( maxlen ); if ( rs.nextDouble() < p ) ps.add( s ); else ps.retrieveUnique( s ); } long end2 = System.currentTimeMillis(); System.out.println( "Sorted set: " + (end1 - start1) + "ms." ); System.out.println( "Trie: " + (end2 - start2) + "ms." ); } }