private static double WritePiBenchMark(int piDigit, int piIteration) { var iteration = 100; var miliSecs = new long[iteration]; var sw1 = Stopwatch.StartNew(); for (var i = 0; i < iteration; i++) { sw1.Start(); var calculator = new PiCalculator(); var pi = calculator.GetPi(piDigit, piIteration); sw1.Stop(); miliSecs[i] = sw1.ElapsedMilliseconds; sw1.Reset(); } var average = miliSecs.Average(); Console.WriteLine("Pi digit\t\tPi Iteration\t\tAvgCalc Milliseconds"); Console.WriteLine($"{piDigit}\t\t\t{piIteration}\t\t\t{average}"); return(average); }
protected override void OnReceive(object message) { if (message is CalcOptions options) { var calculator = new PiCalculator(); var pi = calculator.GetPi(options.Digits, options.Iterations); var strPi = pi.ToString(); var actorSelection = Context.ActorSelection(options.ReceiverAddress); actorSelection.Tell(new PiNumber { Pi = strPi }); } }
public Task ReceiveAsync(IContext context) { if (context.Message is CalcOptions options) { var calculator = new PiCalculator(); var pi = calculator.GetPi(options.Digits, options.Iterations); var strPi = pi.ToString(); PID echoActor = new PID(options.ReceiverAddress, "echoActor"); echoActor.Tell(new PiNumber { Pi = strPi }); } return(Actor.Done); }
public async Task <IActionResult> Post([FromBody] int digits) { var pi = await Task.Run(() => PiCalculator.GetPi(digits)); return(Ok(pi)); }
public void PiCalculator_GetPi_returns_314_for_input_2() { var result = piCalculator.GetPi(2); Assert.AreEqual("3.14", result); }