protected override void OnCreate(Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.Main); var task = new Task (async () => { try { // FIXME var inspector = "10.1.12.185:8080"; var recipeId = 1; var output = "/sdcard/benchmark-profile.mpld"; var versions = new Dictionary<string, string> { { "mono", Mono.Runtime.GetDisplayName () }, { "monodroid", "" } }; Console.WriteLine ("MainActivity | Benchmark : start"); var args = Arguments.Parse (Assets.Open ("arguments")); await Assets.Open (args.Assembly).CopyToAsync ( OpenFileOutput ("benchmark.exe", FileCreationMode.WorldReadable)); var time = new Benchmark (Assembly.LoadFile (FilesDir.AbsolutePath + "/benchmark.exe"), args.Class) .Run (args.BenchmarkArguments.ToArray ()); Console.WriteLine ("MainActivity | Benchmark : end, time = {0:N3} ms", time / 10000d); Console.WriteLine ("MainActivity | Log Upload : start, inspector = {3}, recipeId = {0}, output = {1}, versions = {2}", recipeId, output, versions, inspector); new ResultUploader (inspector).Upload (recipeId, new FileStream (output, FileMode.Open)); Console.WriteLine ("MainActivity | Log Upload : end"); } catch (Exception e) { Console.WriteLine (e); } finally { Finish (); } }); task.Start (); }
public static void Main(string[] args) { if (args.Length < 3) throw new ArgumentException ("usage : root samples_file inspector_address"); var root = args [0]; var samplesFile = Path.IsPathRooted (args [1]) ? args [1] : Path.Combine (root, args [1]); var inspectorAddress = args [2]; var arguments = Arguments.Parse (File.Open (Path.Combine ( root, "arguments.ini"), FileMode.Open)); var assembly = Path.IsPathRooted (arguments.Assembly) ? arguments.Assembly : Path.Combine (root, arguments.Assembly); var time = new Benchmark (Assembly.LoadFile (assembly), arguments.Class) .Run (arguments.BenchmarkArguments.ToArray ()); using (var samples = File.Open (samplesFile, FileMode.Open)) { new ResultUploader (inspectorAddress).Upload (1, new FileStream (samplesFile, FileMode.Open)); } Console.WriteLine ("{0:N3} ms", time / 10000d); }