Ich kopiere eingefügt den parallelen Teil dieser example. Ich habe die Zeit in einem i3-Prozessor gemessen und die Messung war 37563ms. Ich schrieb das gleiche Programm in FSharp wie dieseParallel Fsharp vs parallel C++
let rec fib x = if x<2 then x else fib(x-1)+fib(x-2)
let time_call f =
let b=System.Environment.TickCount in
let x = f() in
System.Environment.TickCount-b
let fibs() =
Async.Parallel[for i in [24;26;41;42]->async{return fib i}]|>Async.RunSynchronously
[<EntryPoint>]
let main argv =
printfn "%A" (time_call fibs)
0 // return an integer exit code
Und die Zeit, die ich gemessen war 4735ms. Mache ich etwas falsch oder Fsharp Parallel-Programmierung ist so viel schneller?
korrigierte ich den Code bitte Duplikat entfernen. Die Frage bezieht sich auf den Vergleich der parallelen Funktionalität von C++ PPL und F #. – Dragno
Die 'in'-Syntax wird selten verwendet. Allerdings dauert die C++ - Version zu lange, können Sie den Code auch darauf veröffentlichen. – s952163
Um Ihnen eine Idee zu geben, bekomme ich etwa 1750ms in F # und 1233ms für parallele Zeit in C++, die etwas schneller ist als .NET. Etwas schwereres wie ein Mandelbrot könnte ein interessantes Beispiel für Vergleiche sein. – s952163