protected override IByteCounterService GetInstance()
        {
            IWebDriverFactory   factory        = new PhantomJSFactory();
            IByteCounterService counterCrawler = new ByteCounterCrawler(factory);

            return(counterCrawler);
        }
Example #2
0
        private static async Task RunAsync(ArgumentDataModel argumentData)
        {
            var fileDataResults = new List <FileDataModel>();

            var watch = Stopwatch.StartNew();

            for (int i = 1; i <= argumentData.Interactions; i++)
            {
                string sentence = await LeroLeroCrawler.GetSentenceAsync(argumentData.SentenceModo);

                await ByteCounterCrawler.GetBytesAsync(sentence);

                var fileData = FileService.Write(
                    sentence,
                    argumentData.FileSavePath,
                    argumentData.BufferSize,
                    argumentData.FileSize
                    );
                fileDataResults.Add(fileData);
            }
            watch.Stop();

            ReportService.WriteData(watch.Elapsed, fileDataResults);

            Console.ReadKey();
        }
Example #3
0
        static void Main(string[] args)
        {
            IConfiguration config = new ConfigurationBuilder()
                                    .SetBasePath(Directory.GetCurrentDirectory())
                                    .AddJsonFile("appsettings.json")
                                    .Build();

            IWebDriverFactory   factory        = new PhantomJSFactory();
            ILoremIpsumService  loremCrawler   = new LoremIpsumCrawler(factory);
            IByteCounterService counterCrawler = new ByteCounterCrawler(factory);

            ILoremIpsumService  loremFallback   = new LoremIpsumFallback();
            IByteCounterService counterFallback = new ByteCounterFallback();

            ILoremIpsumService  loremFallbackManager   = new LoremIpsumFallBackManager(loremCrawler, loremFallback);
            IByteCounterService counterFallbackManager = new ByteCounterFallBackManager(counterCrawler, counterFallback);

            var path = @"C:\Users\Leandro\Desktop\lorem.txt";

            if (!int.TryParse(config["bufferSizeInMB"], out var bufferSizeInMB))
            {
                bufferSizeInMB = 1;
            }

            if (!int.TryParse(config["maxFileSizeInMB"], out var maxFileSizeInMB))
            {
                maxFileSizeInMB = 100;
            }

            int iterations = 0;

            TimeSpan elapsedTime = GetExecutionTime(() =>
            {
                var writter = new FileWriterManager(loremFallbackManager, counterFallbackManager, path, bufferSizeInMB, maxFileSizeInMB);

                iterations = writter.WriteLoremFile(true, 8, ParagraphSize.Long);
            });

            Console.Clear();
            Console.WriteLine($"numero de iterações realizadas: {iterations}");
            Console.WriteLine($"tempo total, em segundos, de geração do arquivo: {elapsedTime.TotalSeconds}");
            Console.WriteLine($"tempo médio de escrita: {elapsedTime.TotalSeconds / iterations}");
            Console.WriteLine($"nome arquivo: {Path.GetFileName(path)}");
            Console.WriteLine($"tamanho, em bytes, do arquivo: {new FileInfo(path).Length}");
            Console.WriteLine($"caminho arquivo: {Path.GetDirectoryName(path)}");
            Console.Read();
        }