Example #1
0
        private static Type GetBenchmarkType(BenchmarkToRun benchmark)
        {
            switch (benchmark)
            {
            case BenchmarkToRun.YieldOrLinq: return(typeof(YieldOrLinq));

            default: throw new Exception("");
            }
        }
Example #2
0
        private static void Main()
        {
            const BenchmarkToRun benchmark = BenchmarkToRun.YieldOrLinq;

            var summary = BenchmarkRunner.Run(GetBenchmarkType(benchmark));

            new SingleInsertFileSize().Run();
            new InsertRangeFileSize().Run();

            Console.ReadLine();
        }
Example #3
0
        private static async Task Main()
        {
            new SingleInsertFileSize().Run();
            new InsertRangeFileSize().Run();

            const BenchmarkToRun benchmark = BenchmarkToRun.ClassCastOrStructCast;

            var summary = BenchmarkRunner.Run(GetBenchmarkType(benchmark));

            Console.WriteLine(summary);

            Console.ReadLine();
        }
Example #4
0
        private static async Task Main()
        {
            /*
             *      var buffer = new BufferBlock<int>();
             *
             *      var producer = Task.Run(() =>
             *      {
             *              int i = 0;
             *
             *              while(true)
             *              {
             *                      buffer.Post(i++);
             *
             *                      if (i == int.MaxValue)
             *                      {
             *                              i = int.MinValue;
             *                      }
             *              }
             *      });
             *
             *      int cps = 0;
             *
             *      var consumer = Task.Run(async () =>
             *      {
             *              while(true)
             *              {
             *                      await buffer.ReceiveAsync().ConfigureAwait(false);
             *
             *                      cps++;
             *              }
             *      });
             *
             *      var counter = Task.Run(async () =>
             *      {
             *              while(true)
             *              {
             *                      await Task.Delay(1000);
             *                      Console.WriteLine(cps);
             *                      cps = 0;
             *              }
             *      });
             *
             *      await Task.WhenAll(producer, consumer, counter);
             */
            var db = new DatabaseBuilder()
                     .UseIODatabase(StringDBVersion.Latest, "ZFWorlds.db");

            Console.WriteLine(db.Count());

            int cps = 0;

            var counter = Task.Run(async() =>
            {
                while (true)
                {
                    await Task.Delay(1000);
                    Console.WriteLine(cps);
                    cps = 0;
                }
            });

            var reader = Task.Run(async() =>
            {
                while (true)
                {
                    foreach (var kvp in db)
                    {
                        cps++;
                    }
                }
            });

            await Task.WhenAll(counter, reader);

            var queryManager = new QueryManager <byte[], byte[]>(db);

            var ips = 0;

            var q = queryManager.ExecuteQuery(new Querying.Queries.Query <byte[], byte[]>(async(a, b) =>
            {
                ips++;
                return(QueryAcceptance.Continue);
            }));

            while (true)
            {
                await Task.Delay(1000);

                Console.WriteLine(ips);

                ips = 0;
            }

            Console.ReadLine();


            const BenchmarkToRun benchmark = BenchmarkToRun.YieldOrLinq;

            var summary = BenchmarkRunner.Run(GetBenchmarkType(benchmark));

            new SingleInsertFileSize().Run();
            new InsertRangeFileSize().Run();

            Console.WriteLine(summary);

            Console.ReadLine();
        }