Skip to main content
10 events
when toggle format what by license comment
Sep 6, 2016 at 14:38 comment added Robert Harvey @OldFart: Once I/O becomes bottlenecked, throwing more threads at it won't help. -- Exactly my situation.
Sep 6, 2016 at 14:26 comment added OldFart If something is CPU bound, it means that each thread will saturate one core. So increasing the number of threads to match the number of cores is useful. If something is I/O bound, then throwing more threads at it may help because it overlaps the I/O operations. In this case, the optimal number of threads is mostly unrelated to the number of cores. Once I/O becomes bottlenecked, throwing more threads at it won't help.
Sep 2, 2016 at 22:09 comment added Robert Harvey @oldfart: Could be. Last time I tested this was on a utility I wrote that processed very large data files. I assumed that I was I/O bound because I was reading data as fast as the interface would allow, but perhaps I was actually CPU bound and didn't know it.
Sep 2, 2016 at 20:40 comment added OldFart I think you may have meant to say "CPU bound", not "I/O bound".
Sep 2, 2016 at 17:09 vote accept Scott Whitlock
Sep 2, 2016 at 17:02 comment added Robert Harvey A "web of references" is the using statements at the top of each C# file, referencing various external .NET libraries and classes in the .NET Framework. In C++, this sort of code is already incorporated into each class file with includes. So basically you're trading one problem for another.
Sep 2, 2016 at 16:56 comment added Scott Whitlock I think this hints at an answer: "Visual Basic and C# methods are essentially standalone once parsed and can be compiled in parallel under Roslyn." A full answer needs to explain what about C# makes further parallelism impractical. @Euphoric suggests it's a "web of references" but I'd like some more explanation.
Sep 2, 2016 at 16:55 comment added Robert Harvey That doesn't surprise me. C++ has a primary emphasis on performance, and "you don't pay for what you don't use," so the picture is a bit more complicated than just adding threads.
Sep 2, 2016 at 16:51 comment added Scott Whitlock I've been using VS2013 and Roslyn comes standard in VS2015. You can download and use Roslyn in VS2013 with a NuGet package so tried rebuilding my 21-project solution. The original rebuild time is about 30 seconds, but the new rebuild time with Roslyn is a little over 60 seconds.
Sep 2, 2016 at 15:50 history answered Robert Harvey CC BY-SA 3.0