コード例 #1
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
        private long getExp(SPECCPUDB_Mine db, string url, long EnvID, long ProgID, decimal BaseRefTime, decimal BaseRunTime)
        {
            var exps      = db.Experiments.Where(e => e.url == url && e.EnvID == EnvID && e.ProgID == ProgID && e.BaseRefTime == BaseRefTime && e.BaseRunTime == BaseRunTime);
            int expsCount = exps.Count();

            if (expsCount > 0)
            {
                var e = exps.ElementAt(0);
                return(e.ID);
            }
            else
            {
                return(-1);
            }
        }
コード例 #2
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
        private long getProg(SPECCPUDB_Mine db, string ProgramName)
        {
            var progs     = db.Programs.Where(p => p.Name == ProgramName);
            int progCount = progs.Count();

            if (progCount > 0)
            {
                var p = progs.ElementAt(0);
                return(p.ID);
            }
            else
            {
                return(-1);
            }
        }
コード例 #3
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
        private long getEnv(SPECCPUDB_Mine db, string CpuName, string CpuMHz, string FPU, string Memory, string OS, string Compiler)
        {
            var envs = from e in db.Environments
                       where e.Compiler == Compiler &&
                       e.CpuMHz == CpuMHz &&
                       e.CpuName == CpuName &&
                       e.FPU == FPU &&
                       e.Memory == Memory &&
                       e.OS == OS
                       select e;
            int envsCount = envs.Count();

            if (envsCount > 0)
            {
                var firstEnv = envs.ElementAt(0);
                return(firstEnv.ID);
            }
            else
            {
                return(-1);
            }
        }
コード例 #4
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public void SaveNewExperiment(string dbFile, string url, string CpuName, string CpuMHz, string FPU, string Memory, string OS, string Compiler, string ProgramName, decimal BaseRefTime, decimal BaseRunTime)
 {
     using (var db = new SPECCPUDB_Mine(new LinqToDB.DataProvider.SQLite.SQLiteDataProvider(), String.Format(@"Data Source={0}", dbFile)))
     {
         long EnvID = getEnv(db, CpuName, CpuMHz, FPU, Memory, OS, Compiler);
         if (EnvID < 0)
         {
             var newEnv = new DataModel.Environment();
             newEnv.Compiler = Compiler;
             newEnv.CpuMHz   = CpuMHz;
             newEnv.CpuName  = CpuName;
             newEnv.FPU      = FPU;
             newEnv.Memory   = Memory;
             newEnv.OS       = OS;
             db.Insert(newEnv);
             EnvID = getEnv(db, CpuName, CpuMHz, FPU, Memory, OS, Compiler);
         }
         long ProgID = getProg(db, ProgramName);
         if (ProgID < 0)
         {
             var p = new DataModel.Program();
             p.Name = ProgramName;
             db.Insert(p);
             ProgID = getProg(db, ProgramName);
         }
         var expID = getExp(db, url, EnvID, ProgID, BaseRefTime, BaseRunTime);
         if (expID < 0)
         {
             var exp = new DataModel.Experiment();
             exp.url         = url;
             exp.EnvID       = EnvID;
             exp.ProgID      = ProgID;
             exp.BaseRefTime = BaseRefTime;
             exp.BaseRunTime = BaseRunTime;
             db.Insert(exp);
         }
     }
 }
コード例 #5
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public void SaveNewExperiment(string dbFile, string url, string CpuName, string CpuMHz, string FPU, string Memory, string OS, string Compiler, string ProgramName, decimal BaseRefTime, decimal BaseRunTime)
 {
     using (var db = new SPECCPUDB_Mine(new LinqToDB.DataProvider.SQLite.SQLiteDataProvider(), String.Format(@"Data Source={0}", dbFile)))
     {
         long EnvID = getEnv(db, CpuName, CpuMHz, FPU, Memory, OS, Compiler);
         if (EnvID < 0)
         {
             var newEnv = new DataModel.Environment();
             newEnv.Compiler = Compiler;
             newEnv.CpuMHz = CpuMHz;
             newEnv.CpuName = CpuName;
             newEnv.FPU = FPU;
             newEnv.Memory = Memory;
             newEnv.OS = OS;
             db.Insert(newEnv);
             EnvID = getEnv(db, CpuName, CpuMHz, FPU, Memory, OS, Compiler);
         }
         long ProgID = getProg(db, ProgramName);
         if (ProgID<0)
         {
             var p = new DataModel.Program();
             p.Name = ProgramName;
             db.Insert(p);
             ProgID = getProg(db, ProgramName);
         }
         var expID = getExp(db, url, EnvID, ProgID, BaseRefTime, BaseRunTime);
         if (expID < 0)
         {
             var exp = new DataModel.Experiment();
             exp.url = url;
             exp.EnvID = EnvID;
             exp.ProgID = ProgID;
             exp.BaseRefTime = BaseRefTime;
             exp.BaseRunTime = BaseRunTime;
             db.Insert(exp);
         }
     }
 }
コード例 #6
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Program[] getPrograms(SPECCPUDB_Mine db)
 {
     return db.Programs.Where(p => true).ToArray();
 }
コード例 #7
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Program getProgram(SPECCPUDB_Mine db, long ID)
 {
     return db.Programs.First(p => p.ID == ID);
 }
コード例 #8
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Experiment[] getExperimentsOfEnvironment(SPECCPUDB_Mine db, long ID)
 {
     return db.Experiments.Where(e => e.EnvID == ID).OrderBy(e => e.ProgID).ToArray();
 }
コード例 #9
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Experiment[] getExperimentOfEnvironment(SPECCPUDB_Mine db, long EnvID)
 {
     var exps =
 }
コード例 #10
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public DataModel.Environment[] getEnvironments(SPECCPUDB_Mine db)
 {
     return db.Environments.Where(p => true).ToArray();
 }
コード例 #11
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 private long getProg(SPECCPUDB_Mine db, string ProgramName)
 {
     var progs = db.Programs.Where(p => p.Name == ProgramName);
     int progCount = progs.Count();
     if (progCount > 0)
     {
         var p = progs.ElementAt(0);
         return p.ID;
     }
     else
         return -1;
 }
コード例 #12
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Program getProgram(SPECCPUDB_Mine db, long ID)
 {
     return(db.Programs.First(p => p.ID == ID));
 }
コード例 #13
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Experiment[] getExperimentOfEnvironment(SPECCPUDB_Mine db, long EnvID)
 {
     var exps =
 }
コード例 #14
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public DataModel.Environment[] getEnvironments(SPECCPUDB_Mine db)
 {
     return(db.Environments.Where(p => true).ToArray());
 }
コード例 #15
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Program[] getPrograms(SPECCPUDB_Mine db)
 {
     return(db.Programs.Where(p => true).ToArray());
 }
コード例 #16
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 private long getExp(SPECCPUDB_Mine db, string url, long EnvID, long ProgID, decimal BaseRefTime, decimal BaseRunTime)
 {
     var exps = db.Experiments.Where(e => e.url == url && e.EnvID == EnvID && e.ProgID == ProgID && e.BaseRefTime == BaseRefTime && e.BaseRunTime == BaseRunTime);
     int expsCount = exps.Count();
     if (expsCount > 0)
     {
         var e = exps.ElementAt(0);
         return e.ID;
     }
     else
         return -1;
 }
コード例 #17
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 private long getEnv(SPECCPUDB_Mine db, string CpuName, string CpuMHz, string FPU, string Memory, string OS, string Compiler )
 {
     var envs = from e in db.Environments
                    where e.Compiler == Compiler
                    && e.CpuMHz == CpuMHz
                    && e.CpuName == CpuName
                    && e.FPU == FPU
                    && e.Memory == Memory
                    && e.OS == OS
                    select e;
         int envsCount = envs.Count();
         if (envsCount > 0)
         {
             var firstEnv = envs.ElementAt(0);
             return firstEnv.ID;
         } else
             return -1;
 }
コード例 #18
0
ファイル: CPUSPECHelper.cs プロジェクト: vslab/Energon
 public Experiment[] getExperimentsOfEnvironment(SPECCPUDB_Mine db, long ID)
 {
     return(db.Experiments.Where(e => e.EnvID == ID).OrderBy(e => e.ProgID).ToArray());
 }