Exemple #1
0
        //[TestMethod]
        public void CompareCachedPerformance()
        {
            var dt = AllType.GetTableCached();

            const int reps = 10000;

            CachedDaliPerformanceParallel(1);    // JIT
            CachedRawPerformance(1);             // JIT

            var sw = Stopwatch.StartNew();

            CachedDaliPerformanceParallel(reps);
            sw.Stop();
            Console.WriteLine("DaLi parallel cached (" + reps + "): " + sw.ElapsedMilliseconds.ToString());

            sw.Reset();
            sw.Start();
            CachedDaliPerformance(reps);
            sw.Stop();
            Console.WriteLine("DaLi cached (" + reps + "): " + sw.ElapsedMilliseconds.ToString());

            sw.Reset();
            sw.Start();
            CachedDaliPerformanceList(reps);
            sw.Stop();
            Console.WriteLine("DaLi cached list (" + reps + "): " + sw.ElapsedMilliseconds.ToString());

            sw.Reset();
            sw.Start();
            CachedRawPerformance(reps);
            sw.Stop();
            Console.WriteLine("Raw implementation cached (" + reps + "): " + sw.ElapsedMilliseconds.ToString());
        }
Exemple #2
0
        private void CachedDaliPerformance(int repeats)
        {
            var dt = AllType.GetTableCached();

            for (int i = 0; i < repeats; i++)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    AllType inst = new AllType();
                    inst.Fill(dr);
                }
            }
        }
Exemple #3
0
        private void CachedDaliPerformanceParallel(int repeats)
        {
            var dt = AllType.GetTableCached();

            for (int i = 0; i < repeats; i++)
            {
                var instances = dt.Rows.Cast <DataRow>()
                                .AsParallel()
                                .AsOrdered()
                                .Select(dr => { AllType result = new AllType(); result.Fill(dr); return(result); });
                instances.ToList();
            }
        }