示例#1
0
        private void searchWithoutStatiscticExport()
        {
            int     lowerBound   = int.Parse(textBox1.Text);
            int     upperBound   = int.Parse(textBox2.Text);
            int     repetitions  = int.Parse(textBox6.Text);
            int     threadNumber = (int)numericUpDown1.Value;
            iTester tester       = comboBox1.Text.Equals("ASM") ? (iTester) new PrimeTesterASM() : (iTester) new PrimeTesterCsharp();

            Searcher sear = new Searcher(lowerBound, upperBound, threadNumber, tester);

            Stopwatch stopwatch = new Stopwatch();
            long      sum       = 0;

            bool[] table;

            stopwatch.Start();
            table = sear.Proceed();
            stopwatch.Stop();

            sum = stopwatch.ElapsedTicks;

            StringBuilder s = new StringBuilder();

            for (int i = 0; i < table.Length; i++)
            {
                if (table[i])
                {
                    s.Append((i + lowerBound).ToString() + Environment.NewLine);
                }
            }

            box3.Write(s.ToString());
            writeElapsedTicks(sum);
        }
示例#2
0
        private void searchWithStatisticExport()
        {
            int     lowerBound   = int.Parse(textBox1.Text);
            int     upperBound   = int.Parse(textBox2.Text);
            int     repetitions  = int.Parse(textBox6.Text);
            int     threadNumber = (int)numericUpDown1.Value;
            iTester tester       = comboBox1.Text.Equals("ASM") ? (iTester) new PrimeTesterASM() : (iTester) new PrimeTesterCsharp();

            Searcher  sear;
            int       tmp = upperBound;
            Stopwatch stopwatch;
            long      sum = 0;

            bool[] table = null;
            upperBound = tmp;
            for (int ii = 0; ii < 10; ii++)
            {
                using (StreamWriter file = File.CreateText(comboBox1.Text + "_" + threadNumber + "_" + lowerBound + "_" + upperBound + ".txt"))
                {
                    StringBuilder stringBuilder = new StringBuilder();
                    for (int index = 0; index < repetitions; index++)
                    {
                        sear      = new Searcher(lowerBound, upperBound, threadNumber, tester);
                        table     = null;
                        stopwatch = Stopwatch.StartNew();
                        table     = sear.Proceed();
                        stopwatch.Stop();

                        sum += stopwatch.Elapsed.Ticks;
                        stringBuilder.AppendLine(stopwatch.Elapsed.Ticks.ToString());
                    }
                    file.Write(stringBuilder.ToString());
                    sum        /= repetitions;
                    upperBound += tmp;
                }
                using (StreamWriter file = File.AppendText(comboBox1.Text + "_" + threadNumber + "_" + lowerBound + "_" + tmp + "-" + tmp * 10 + "_srednie.txt"))
                {
                    file.WriteLine(sum);
                }
            }
            StringBuilder s = new StringBuilder();

            for (int i = 0; i < table.Length; i++)
            {
                if (table[i])
                {
                    s.Append((i + lowerBound).ToString() + Environment.NewLine);
                }
            }

            box3.Write(s.ToString());

            writeElapsedTicks(sum);
        }
示例#3
0
 public Searcher(int lowerBound, int upperBound, int maxThreadNumber, iTester tester)
 {
     this.indexMutex      = new Mutex(false);
     this.index           = 0;
     this.lowerBound      = lowerBound;
     this.upperBound      = upperBound;
     this.intigerNumber   = upperBound - lowerBound + 1;
     this.maxThreadNumber = maxThreadNumber;
     this.taskList        = new List <Task>();
     this.tester          = tester;
     this.resultArray     = new bool[this.intigerNumber];
 }