public void testCanonicalizePerformance() throws Exception {
		System.out.println("Canonicalization Performance");
		Encoder encoder = new Encoder();
		int iterations = 100;
		String normal = "The quick brown fox jumped over the lazy dog";

		long start = System.currentTimeMillis();
		@SuppressWarnings("unused")
		String temp = null; // Trade in 1/2 doz warnings in Eclipse for one
		// (never read)
		for (int i = 0; i < iterations; i++) {
			temp = normal;
		}
		long stop = System.currentTimeMillis();
		System.out.println("Normal: " + (stop - start));

		start = System.currentTimeMillis();
		for (int i = 0; i < iterations; i++) {
			temp = encoder.canonicalize(normal, false);
		}
		stop = System.currentTimeMillis();
		System.out.println("Normal Loose: " + (stop - start));

		start = System.currentTimeMillis();
		for (int i = 0; i < iterations; i++) {
			temp = encoder.canonicalize(normal, true);
		}
		stop = System.currentTimeMillis();
		System.out.println("Normal Strict: " + (stop - start));

		String attack = "%2&#x35;2%3525&#x32;\\u0036lt;\r\n\r\n%&#x%%%3333\\u0033;&%23101;";

		start = System.currentTimeMillis();
		for (int i = 0; i < iterations; i++) {
			temp = attack;
		}
		stop = System.currentTimeMillis();
		System.out.println("Attack: " + (stop - start));

		start = System.currentTimeMillis();
		for (int i = 0; i < iterations; i++) {
			temp = encoder.canonicalize(attack, false);
		}
		stop = System.currentTimeMillis();
		System.out.println("Attack Loose: " + (stop - start));

		start = System.currentTimeMillis();
		for (int i = 0; i < iterations; i++) {
			try {
				temp = encoder.canonicalize(attack, true);
			} catch (IntrusionException e) {
				// expected
			}
		}
		stop = System.currentTimeMillis();
		System.out.println("Attack Strict: " + (stop - start));
	}