Exemple #1
0
        public void hashFile(string filename, int spec_col, int id_col)
        {
            StatisticBuilder stats = new StatisticBuilder();
            DateTime         sTime, eTime;
            int count = 0;

            Console.WriteLine("params: {0}, {1}, {2}", filename, spec_col, id_col);

            FileInfo file = new FileInfo(String.Format("{0}-csharp.csv", filename.Substring(0, filename.LastIndexOf('.'))));

            if (file.Exists)
            {
                file.Delete();
                Console.WriteLine("deleted old file...");
            }

            sTime = DateTime.Now;

            using (StreamReader sr = File.OpenText(filename)) {
                string s = String.Empty;

                using (StreamWriter fout = new StreamWriter(File.OpenWrite(file.Name))) {
                    StringBuilder result = new StringBuilder();
                    fout.AutoFlush = true;

                    while ((s = sr.ReadLine()) != null)
                    {
                        if (string.IsNullOrWhiteSpace(s) || !s.Contains(","))
                        {
                            Console.WriteLine("bad line... skipping.");
                            continue;
                        }

                        string[] input = s.Split(',');
                        if (!input[spec_col].Contains(":") && !input[id_col].Contains(":"))
                        {
                            result.Append("invalid input data").Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]);
                            continue;
                        }
                        else if (input[id_col].Contains(":"))
                        {
                            int tmp = id_col;
                            id_col   = spec_col;
                            spec_col = tmp;
                        }

                        DateTime psTime = DateTime.Now;
                        string   hash   = splasher.splashIt(new MSSpectrum(input[spec_col]));
                        DateTime peTime = DateTime.Now;
                        TimeSpan lap    = new TimeSpan();

                        if (count % UPDATE_INTERVAL == 0)
                        {
                            lap = DateTime.Now.Subtract(sTime);
                            Console.WriteLine("Elapsed {2:F5}s, average {3:F5}ms, this item: {4:F5}ms - {0} [{1}]", input[id_col], count, lap.TotalSeconds, lap.TotalMilliseconds / (count + 1), peTime.Subtract(psTime).TotalMilliseconds);
                        }

                        result.Append(hash).Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]);
                        //Console.WriteLine(hash);
                        fout.WriteLine(String.Format(result.ToString()));
                        result.Clear();

                        eTime = DateTime.Now;
                        stats.addTime(lap.TotalMilliseconds);
                        count++;
                    }

                    fout.Flush();
                }
            }

            Console.WriteLine(stats.getTimeData());
        }
Exemple #2
0
        public void hashFile(string filename, int spec_col, int id_col)
        {
            StatisticBuilder stats = new StatisticBuilder();
            DateTime sTime, eTime;
            int count = 0;

            Console.WriteLine("params: {0}, {1}, {2}", filename, spec_col, id_col);

            FileInfo file = new FileInfo(String.Format("{0}-csharp.csv", filename.Substring(0,filename.LastIndexOf('.'))));

            if(file.Exists) {
                file.Delete();
                Console.WriteLine("deleted old file...");
            }

            sTime = DateTime.Now;

            using (StreamReader sr = File.OpenText(filename)) {
                string s = String.Empty;

                using(StreamWriter fout = new StreamWriter(File.OpenWrite(file.Name))) {
                    StringBuilder result = new StringBuilder();
                    fout.AutoFlush = true;

                    while ((s = sr.ReadLine()) != null)	{
                        if(string.IsNullOrWhiteSpace(s) || !s.Contains(",")) {
                            Console.WriteLine("bad line... skipping.");
                            continue;
                        }

                        string[] input = s.Split(',');
                        if(!input[spec_col].Contains(":") && !input[id_col].Contains(":")) {
                            result.Append("invalid input data").Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]);
                            continue;
                        } else if(input[id_col].Contains(":")) {
                            int tmp = id_col;
                                id_col = spec_col;
                                spec_col = tmp;
                        }

                        DateTime psTime = DateTime.Now;
                        string hash = splasher.splashIt(new MSSpectrum(input[spec_col]));
                        DateTime peTime = DateTime.Now;
                        TimeSpan lap = new TimeSpan();

                        if(count % UPDATE_INTERVAL == 0) {
                            lap = DateTime.Now.Subtract(sTime);
                            Console.WriteLine("Elapsed {2:F5}s, average {3:F5}ms, this item: {4:F5}ms - {0} [{1}]", input[id_col], count, lap.TotalSeconds, lap.TotalMilliseconds/(count+1), peTime.Subtract(psTime).TotalMilliseconds);
                        }

                        result.Append(hash).Append(",").Append(input[id_col]).Append(",").Append(input[spec_col]);
                        //Console.WriteLine(hash);
                        fout.WriteLine(String.Format(result.ToString()));
                        result.Clear();

                        eTime = DateTime.Now;
                        stats.addTime(lap.TotalMilliseconds);
                        count++;
                    }

                    fout.Flush();
                }
            }

            Console.WriteLine(stats.getTimeData());
        }