예제 #1
0
파일: Benchmarks.cs 프로젝트: xeno3/biggy
        public static void Run()
        {
            Console.WriteLine("Connecting to Postgres Store...");
            var monkies = new PGDocumentList <Monkey>("northwindPG");

            monkies.Clear();
            var sw = new Stopwatch();

            Console.WriteLine("Loading 10,000 documents");

            sw.Start();
            var addRange = new List <Monkey>();

            for (int i = 0; i < 10000; i++)
            {
                addRange.Add(new Monkey {
                    ID = i, Name = "MONKEY " + i, Birthday = DateTime.Today, Description = "The Monkey on my back"
                });
            }
            var inserted = monkies.AddRange(addRange);

            sw.Stop();
            Console.WriteLine("Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);


            Console.WriteLine("Loading 100,000 documents");
            sw.Reset();
            addRange.Clear();
            monkies.Clear();
            sw.Start();
            for (int i = 0; i < 100000; i++)
            {
                addRange.Add(new Monkey {
                    ID = i, Name = "MONKEY " + i, Birthday = DateTime.Today, Description = "The Monkey on my back"
                });
            }
            inserted = monkies.AddRange(addRange);
            sw.Stop();
            Console.WriteLine("Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);


            //use a DB that has an int PK
            sw.Reset();
            sw.Start();
            Console.WriteLine("Loading {0}...", inserted);
            monkies.Reload();
            sw.Stop();
            Console.WriteLine("Loaded {0} documents from Postgres in {1}ms", inserted, sw.ElapsedMilliseconds);

            sw.Reset();
            sw.Start();
            Console.WriteLine("Querying Middle 100 Documents");
            var found = monkies.Where(x => x.ID > 100 && x.ID < 500);

            sw.Stop();
            Console.WriteLine("Queried {0} documents in {1}ms", found.Count(), sw.ElapsedMilliseconds);
        }
예제 #2
0
        public void CreatesSerialPK()
        {
            var actors   = new PGDocumentList <Actor>("northwindPG");
            var newActor = new Actor {
                First_Name = "Joe", Last_Name = "Blow"
            };

            actors.Add(newActor);
            int newId = newActor.Actor_ID;

            actors.Reload();
            Assert.True(actors.Any(a => a.Actor_ID == newId));
        }
예제 #3
0
        public static void Run()
        {
            Console.WriteLine("===========================================================");
              Console.WriteLine("POSTGRES - LOAD A BUNCH OF DOCUMENTS INTO A TABLE");
              Console.WriteLine("===========================================================");

              Console.WriteLine("Connecting to Postgres Document Store...");

              // Start clean and fresh . . .
              if (Benchmarks.TableExists("clientdocuments")) {
            Benchmarks.DropTable("clientdocuments");
              }

              var _clientDocuments = new PGDocumentList<ClientDocument>(_connectionStringName);
              _clientDocuments.Clear();
              var sw = new Stopwatch();

              var addRange = new List<ClientDocument>();
              for (int i = 0; i < 10000; i++) {
            addRange.Add(new ClientDocument {
              LastName = "Conery " + i,
              FirstName = "Rob",
              Email = "*****@*****.**"
            });
              }
              sw.Start();
              var inserted = _clientDocuments.AddRange(addRange);
              sw.Stop();
              Console.WriteLine("\t Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);

              // Start clean and fresh again . . .
              _clientDocuments.Clear();
              addRange.Clear();
              Benchmarks.DropTable("clientdocuments");
              _clientDocuments = new PGDocumentList<ClientDocument>(_connectionStringName);
              sw.Reset();

              Console.WriteLine("Loading 100,000 documents");
              for (int i = 0; i < 100000; i++) {
            addRange.Add(new ClientDocument {
              LastName = "Conery " + i,
              FirstName = "Rob",
              Email = "*****@*****.**"
            });
              }
              sw.Start();
              inserted = _clientDocuments.AddRange(addRange);
              sw.Stop();
              Console.WriteLine("\t Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);

              //use a DB that has an int PK
              sw.Reset();
              Console.WriteLine("Loading {0}...", inserted);
              sw.Start();
              _clientDocuments.Reload();
              sw.Stop();
              Console.WriteLine("\t Loaded {0} documents from Postgres in {1} ms", inserted, sw.ElapsedMilliseconds);

              sw.Reset();
              Console.WriteLine("Querying Middle 100 Documents");
              sw.Start();
              var found = _clientDocuments.Where(x => x.ClientDocumentId > 100 && x.ClientDocumentId < 500);
              sw.Stop();
              Console.WriteLine("\t Queried {0} documents in {1}ms", found.Count(), sw.ElapsedMilliseconds);
        }
예제 #4
0
파일: Benchmarks.cs 프로젝트: upta/biggy
        public static void Run()
        {
            Console.WriteLine("===========================================================");
              Console.WriteLine("POSTGRES - LOAD A BUNCH OF DOCUMENTS INTO A TABLE");
              Console.WriteLine("===========================================================");

              Console.WriteLine("Connecting to Postgres Document Store...");

              // Start clean and fresh . . .
              if (Benchmarks.TableExists("clientdocuments"))
              {
            Benchmarks.DropTable("clientdocuments");
              }

              var _clientDocuments = new PGDocumentList<ClientDocument>(_connectionStringName);
              _clientDocuments.Clear();
              var sw = new Stopwatch();

              var addRange = new List<ClientDocument>();
              for (int i = 0; i < 10000; i++)
              {
            addRange.Add(new ClientDocument
            {
              LastName = "Conery " + i,
              FirstName = "Rob",
              Email = "*****@*****.**"
            });
              }
              sw.Start();
              var inserted = _clientDocuments.AddRange(addRange);
              sw.Stop();
              Console.WriteLine("\t Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);

              // Start clean and fresh again . . .
              _clientDocuments.Clear();
              addRange.Clear();
              Benchmarks.DropTable("clientdocuments");
              _clientDocuments = new PGDocumentList<ClientDocument>(_connectionStringName);
              sw.Reset();

              Console.WriteLine("Loading 100,000 documents");
              for (int i = 0; i < 100000; i++)
              {
            addRange.Add(new ClientDocument
            {
              LastName = "Conery " + i,
              FirstName = "Rob",
              Email = "*****@*****.**"
            });
              }
              sw.Start();
              inserted = _clientDocuments.AddRange(addRange);
              sw.Stop();
              Console.WriteLine("\t Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);

              //use a DB that has an int PK
              sw.Reset();
              Console.WriteLine("Loading {0}...", inserted);
              sw.Start();
              _clientDocuments.Reload();
              sw.Stop();
              Console.WriteLine("\t Loaded {0} documents from Postgres in {1} ms", inserted, sw.ElapsedMilliseconds);

              sw.Reset();
              Console.WriteLine("Querying Middle 100 Documents");
              sw.Start();
              var found = _clientDocuments.Where(x => x.ClientDocumentId > 100 && x.ClientDocumentId < 500);
              sw.Stop();
              Console.WriteLine("\t Queried {0} documents in {1}ms", found.Count(), sw.ElapsedMilliseconds);

              sw.Reset();
              Console.WriteLine("Adds Items in a loop, follows by Bulk Insert");
              if (TableExists("items")) {
            DropTable("items");
              }
              sw.Start();
              var list = new List<Item>();
              for (int i = 1; i < 6; i++) {
            list.Add(new Item() {
              Name = "Item no " + i
            });
              }
              var items = new PGDocumentList<Item>("chinookPG");
              // 1. Add items in a loop
              foreach (var item in list) {
            items.Add(item);
              }
              // 2. Add items using AddRange...
              items.AddRange(list);
              sw.Stop();
              Console.WriteLine("\t Added {0} items in a loop, then added same items as bullk insert in {1}", list.Count(), sw.ElapsedMilliseconds);
        }