private static void testDecoder(byte[] src, Decoder<?> dc) {
		for(int k=0;k<10;k++) {
			long start = System.currentTimeMillis();
			for(int j=0;j<ITERATIONS;j++) {
				for (int i = 0; i < src.length; i++) {
					byte[] a = new byte[i];
					byte[] b = new byte[src.length - i];
					System.arraycopy(src, 0, a, 0, i);
					System.arraycopy(src, i, b, 0, src.length - i);
					int c = 0;
					dc.push(a);
					while(dc.decode()!=null)
						c++;
					dc.push(b);
					while(dc.decode()!=null)
						c++;
					Assert.assertEquals("Test failed with i: " + i, 3, c);
				}
			}
			long end = System.currentTimeMillis();

			System.out.format("Msg/s %f%n", (double)ITERATIONS * 3 * src.length / (end - start) * 1000 );
		}
	}