Ejemplo n.º 1
0
        public async Task FindExperiments()
        {
            ExperimentDefinition def1 = ExperimentDefinition.Create("LinearEquationSolver.exe", ExperimentDefinition.LocalDiskContainerUri, "benchmarks_2", "csv", "{0} 1", TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(0), "default", category: "IdentitySquare");
            ExperimentDefinition def2 = ExperimentDefinition.Create("LinearEquationSolver.exe", ExperimentDefinition.LocalDiskContainerUri, "benchmarks_2", "csv", "{0} 2", TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(0), "default", category: "IdentitySquare");

            ExperimentManager manager = NewManager();

            var e1 = await manager.StartExperiment(def1);

            var e2 = await manager.StartExperiment(def1);

            var e4 = await manager.StartExperiment(def2);

            var r1 = await Task.WhenAll(manager.GetResults(e1));

            var r2 = await Task.WhenAll(manager.GetResults(e2));

            var r4 = await Task.WhenAll(manager.GetResults(e4));

            var loaded = (await manager.FindExperiments()).ToArray();

            Assert.AreEqual(3, loaded.Length, "Number of found experiments (same manager)");

            var manager2 = OpenManager(manager);
            var loaded2  = (await manager2.FindExperiments()).ToArray();

            Assert.AreEqual(3, loaded2.Length, "Number of found experiments (reloaded)");

            var loaded3 = (await manager2.FindExperiments(new ExperimentManager.ExperimentFilter {
                ParametersEquals = "{0} 2"
            })).ToArray();

            Assert.AreEqual(1, loaded3.Length, "Number of found experiments (reloaded, filtered)");
        }
Ejemplo n.º 2
0
    void StartExperiment()
    {
        visaulEffectManager.Init();
        camera.clearFlags = CameraClearFlags.Skybox;
        playGround.SetActive(true);

        ExperimentManager.StartExperiment();

        // gameObject.SetActive(false);
    }
Ejemplo n.º 3
0
        static async Task Run(ExperimentManager manager, ExperimentDefinition definition)
        {
            int id = await manager.StartExperiment(definition);

            var results = manager.GetResults(id);
            var filter  = new ExperimentManager.ExperimentFilter
            {
                BenchmarkContainerEquals = definition.BenchmarkDirectory,
                CategoryEquals           = definition.Category,
                ExecutableEquals         = definition.Executable,
                ParametersEquals         = definition.Parameters
            };
            var history = (await manager.FindExperiments(filter)).Where(q => q.ID != id).ToArray();
            Dictionary <string, BenchmarkResult> lastBenchmarks = new Dictionary <string, BenchmarkResult>();

            if (history.Length != 0)
            {
                var lastResults = await manager.GetResults(history.Max(e => e.ID));

                foreach (var b in lastResults.Benchmarks)
                {
                    lastBenchmarks[b.BenchmarkFileName] = b;
                }
            }

            var print = results.ContinueWith(task =>
            {
                if (task.IsFaulted)
                {
                    PrintError(String.Format("Failed to complete benchmarks {0}", task.Exception.Message));
                    return;
                }
                BenchmarkResult[] benchmarks = task.Result.Benchmarks;
                foreach (var benchmark in benchmarks)
                {
                    BenchmarkResult lastBenchmark = null;
                    lastBenchmarks.TryGetValue(benchmark.BenchmarkFileName, out lastBenchmark);
                    if (lastBenchmark != null && lastBenchmark.Status != Measurement.ResultStatus.Success)
                    {
                        lastBenchmark = null;
                    }
                    PrintBenchmark(benchmark, lastBenchmark);
                }
            });
            await print;
        }
Ejemplo n.º 4
0
        public async Task RunExperiment()
        {
            ExperimentDefinition def = ExperimentDefinition.Create("LinearEquationSolver.exe", ExperimentDefinition.LocalDiskContainerUri, "benchmarks_1", "csv", "{0}", TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(0), "default");

            ExperimentManager manager = NewManager();
            var expId = await manager.StartExperiment(def);

            var results = (await manager.GetResults(expId)).Benchmarks;

            Assert.AreEqual(1, results.Length, "Number of completed benchmarks");

            var res = results[0];

            Assert.AreEqual(0, res.ExitCode, "exit code");
            Assert.AreEqual(ResultStatus.Success, res.Status, "status");
            Assert.IsTrue(res.CPUTime.TotalSeconds < 1, "Total runtime");
        }
        public async Task RunExperimentsWithCategory()
        {
            ExperimentDefinition def = ExperimentDefinition.Create("LinearEquationSolver.exe", ExperimentDefinition.LocalDiskContainerUri, "benchmarks_2", "csv", "{0} 1000", TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(0), "default",
                                                                   category: "IdentitySquare");

            ExperimentManager manager = NewManager();
            var expId = await manager.StartExperiment(def);

            var results = (await manager.GetResults(expId)).Benchmarks;

            Assert.AreEqual(3, results.Length, "Number of completed benchmarks");

            foreach (var res in results)
            {
                Assert.AreEqual(0, res.ExitCode, "exit code");
                Assert.AreEqual(ResultStatus.Success, res.Status, "status");
                Assert.IsTrue(res.TotalProcessorTime.TotalSeconds < 10, "Total runtime");
            }
        }
Ejemplo n.º 6
0
        public void RunExperiment(Object expInfo)
        {
            Object[] expInfoReal = (Object[])expInfo;

            expManager.StartExperiment((int)expInfoReal[0], (int)expInfoReal[1], (Order)expInfoReal[2]);
        }