ふらっとC#,C♯,C#(初心者用) Part69
■ このスレッドは過去ログ倉庫に格納されています
0549デフォルトの名無しさん
2011/02/08(火) 20:24:45クアッドコアすか?コレ試してもらえますか?
うちのだと35秒もかかってしまう(笑
乱数の取得が多重化できないのがネックだなぁ。
var sw = System.Diagnostics.Stopwatch.StartNew();
const int times = 100000000;
Random rnd = new Random();
var rs = Enumerable.Range(0, times).Select(i => new { X = rnd.NextDouble(), Y = rnd.NextDouble() });
int cin = rs.AsParallel().Select(r => {
double dist = Math.Sqrt(r.X * r.X + r.Y * r.Y);
return (dist < 1.0) ? 1 : 0;
}).Sum();
double pi = 4.0 * (double)cin / (double)times;
Console.WriteLine(sw.Elapsed);
■ このスレッドは過去ログ倉庫に格納されています