You should check out F#'s Async module: [link:research.microsoft.com]

Also, Parallel FX (Download: [link:www.microsoft.com])

They both are capable of pooling of threads. You can also use System.Threading.ThreadPool directly.

From there, you'll have better performance if you ensure each processor keeps memory locality. For example, if you update a large array on two threads, you'll have much better perf by splitting the array in half versus splitting on odd versus evens.

By on 4/8/2009 3:46 AM ()

Thank you. I think I will give the asyncs a try first. The memory locality hint was very helpful. I'll be sure to consider that.

(The reason for my question is that I'm starting out to build a data mining calculation engine in F#)

By on 4/8/2009 7:30 AM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper