public void TestDbContext_PagedQuery_Ask() { var pagedQuery = new PagedQuery <int, UberProductSpec, Product, ProductDto>( new TestDbContext(), new StaticAutoMapperWrapper()).AsPaged(); var optimizedQUery = new OptimizedQuery(); var sw = new Stopwatch(); sw.Start(); var specs = new List <UberProductSpec>(); for (var i = 0; i < 50000; i++) { specs.Add(new UberProductSpec(1, 1) { Price = i }); } var res = specs.Select(x => pagedQuery.Ask(x)).ToArray(); sw.Stop(); //Assert.Equal(99900, res.First().Price); //Assert.Equal(964, res.TotalCount); Assert.True(sw.ElapsedMilliseconds < 300, $"Elapsed Miliseconds: {sw.ElapsedMilliseconds}"); }
public void OptimizedQuery_Ask() { var pagedQuery = new OptimizedQuery(); var sw = new Stopwatch(); sw.Start(); var res = pagedQuery.AskSync(new UberProductSpec() { Price = 3500 }); sw.Stop(); Assert.Equal(100500, res.First().Price); Assert.Equal(1, res.TotalCount); Assert.True(sw.ElapsedMilliseconds < 120, $"Elapsed Miliseconds: {sw.ElapsedMilliseconds}"); }
private static IPagedEnumerable <ProductDto>[] DoSync(int queryCount) { var optimizedQuery = new OptimizedQuery(); var specs = new List <UberProductSpec>(); for (var i = 0; i < queryCount; i++) { specs.Add(new UberProductSpec(1, 1) { Price = i }); } var res = specs .Select(x => optimizedQuery.AskSync(x)) .ToArray(); return(res); }
private static async Task <IPagedEnumerable <ProductDto>[]> DoAsync(int queryCount) { var optimizedQuery = new OptimizedQuery(); var specs = new List <UberProductSpec>(); for (var i = 0; i < queryCount; i++) { specs.Add(new UberProductSpec(1, 1) { Price = i }); } var res = await Task.WhenAll(specs .Select(x => optimizedQuery.Ask(x)) .ToArray()); //var res = specs.Select(x => optimizedQUery.Ask(x)).ToArray(); return(res); }
public void TestDbContext_PagedQuery_Ask() { var pagedQuery = new PagedQuery<int, UberProductSpec, Product, ProductDto>( new TestDbContext(), new StaticAutoMapperWrapper()).AsPaged(); var optimizedQUery = new OptimizedQuery(); var sw = new Stopwatch(); sw.Start(); var specs = new List<UberProductSpec>(); for (var i = 0; i < 50000; i++) { specs.Add(new UberProductSpec(1, 1) {Price = i}); } var res = specs.Select(x => pagedQuery.Ask(x)).ToArray(); sw.Stop(); //Assert.Equal(99900, res.First().Price); //Assert.Equal(964, res.TotalCount); Assert.True(sw.ElapsedMilliseconds < 300, $"Elapsed Miliseconds: {sw.ElapsedMilliseconds}"); }
public void Async_Result() { var res = new OptimizedQuery().Ask(new UberProductSpec()).Result; Assert.Equal(2, res.TotalCount); }
private static async Task<IPagedEnumerable<ProductDto>[]> DoAsync(int queryCount) { var optimizedQuery = new OptimizedQuery(); var specs = new List<UberProductSpec>(); for (var i = 0; i < queryCount; i++) { specs.Add(new UberProductSpec(1, 1) {Price = i}); } var res = await Task.WhenAll(specs .Select(x => optimizedQuery.Ask(x)) .ToArray()); //var res = specs.Select(x => optimizedQUery.Ask(x)).ToArray(); return res; }
private static IPagedEnumerable<ProductDto>[] DoSync(int queryCount) { var optimizedQuery = new OptimizedQuery(); var specs = new List<UberProductSpec>(); for (var i = 0; i < queryCount; i++) { specs.Add(new UberProductSpec(1, 1) {Price = i}); } var res = specs .Select(x => optimizedQuery.AskSync(x)) .ToArray(); return res; }