private List <Eod> ReadEods(List <EodParam> parameters) { List <Eod> seed = new List <Eod> (); List <Eod> value = parameters.AsParallel() .Select(p => InternetReader.ReadEodBySymbol(p)) .Aggregate(seed, (i, j) => i.Union(j).ToList()); return(value); }
public void CanReadEodBySymbol() { EodParam param = new EodParam { Symbol = "AAPL", Start = DateTime.Now.AddDays(-30), End = DateTime.Now }; var eods = InternetReader.ReadEodBySymbol(param); Assert.IsTrue(eods.Count > 0); }
public void WebGetPerformance() { var watch = new Stopwatch(); DateTime start = DateTime.Now.AddDays(-700); List <string> symbols = new List <string> { "AA", "AAC", "AADR", "AAIT", "AAL", "AAMC", "AAME", "AAN", "A", "AAOI", "AAON", "AAP", "AAT", "AAU", "AAV", "AAVL", "AAWW", "AAXJ", "AB", "ABAC", "ABAX", "ABB", "ABBV", "ABC", "ABCB", "ABCD", "ABCO", "ABCW", "ABDC", "ABEV", "ABG", "ABGB", "ABIO", "ABM", "ABMD", "ABR", "ABT", "ABTL", "ABX", "ABY", "ACAD", "ACAS", "ACAT", "ACC", "ACCO", "ACCU", "ACE", "ACET", "ACFC", "ACFN", "ACG", "ACGL", "ACH", "ACHC", "ACHN", "ACI", "ACIM", "ACIW", "ACLS", "ACM", "ACN", "ACNB", "ACOR", "ACP", "ACPW", "ACRE", "ACRX", "ACSF", "ACST", "ACT", "ACTA", "ACTG", "ACTS", "ACU", "ACUR", "ACW", "ACWI", "ACWV", "ACWX", "ACXM", "ACY", "ADAT", "ADBE", "ADC", "ADEP", "ADGE", "ADHD", "ADI", "ADM", "ADMA", "ADMP", "ADMS", "ADNC", "ADP", "ADPT", "ADRA", "ADRD", "ADRE", "ADRU", "AAPL", "GOOG", "MSFT", "XOM", "ORCL" }; var eodParams = symbols.Select(s => new EodParam { Symbol = s, Start = start, End = DateTime.Now }).ToList(); List <TimeSpan> times = new List <TimeSpan>(); for (int i = 0; i < 10; i++) { watch.Start(); foreach (var param in eodParams) { InternetReader.ReadEodBySymbol(param); } watch.Stop(); times.Add(watch.Elapsed); watch.Reset(); } }