コード例 #1
0
ファイル: Program.cs プロジェクト: frankbryce/compression
        static void Main()
        {
            var randomGenerator = new RandomDataGenerator();

            var randomRunner = new CompressionRunner(randomGenerator, new CopyDataCompressor());
            Console.WriteLine("Copying \"Compressor\":");
            RunWithRunner(randomRunner);

            var simpleRunner = new CompressionRunner(randomGenerator, new SimpleDataCompressor());
            Console.WriteLine("Simple (non)Compressor:");
            RunWithRunner(simpleRunner);

            var lessSimpleRunner = new CompressionRunner(randomGenerator, new LessSimpleDataCompressor());
            Console.WriteLine("LessSimple Compressor with randomness:");
            RunWithRunner(lessSimpleRunner);

            var lessSimpleRunnerWithMaxDuplication = new CompressionRunner(new AllOnesGenerator(), new LessSimpleDataCompressor());
            Console.WriteLine("LessSimple Compressor maximum duplication:");
            RunWithRunner(lessSimpleRunnerWithMaxDuplication);

            var lessSimpleRunnerWithDuplication = new CompressionRunner(new SixteenDataGenerator(), new LessSimpleDataCompressor());
            Console.WriteLine("LessSimple Compressor some duplication:");
            RunWithRunner(lessSimpleRunnerWithDuplication);

            Console.ReadLine();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: frankbryce/compression
        static void RunWithRunner(CompressionRunner runner)
        {
            var sizes = new uint[] {1, 10, 100, 1000, 10000, 100000, 1000000};
            foreach (var size in sizes)
            {
                var compressionRatio = runner.Run(size);
                PrintResult(compressionRatio, size);
            }

            Console.WriteLine();
        }