Сообщение Re[2]: распараллеливание и ресурсоёмкость от 16.04.2019 15:42
Изменено 16.04.2019 15:50 VVVa
Re[2]: распараллеливание и ресурсоёмкость
Здравствуйте, bzig, Вы писали:
VYR>>на С# паралелил при помощи Parallel.For — какая-то жуть — накидывает 5% нагрузки в лучшем случае
B>Как у тебя ThreadPool настроен? Что возвращают GetAvailableThreads/GetMaxThreads ?
B>https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadpool?redirectedfrom=MSDN&view=netframework-4.7.2
aworkerThreads 1023 int
acompletionPortThreads 1000 int
mworkerThreads 1023 int
mcompletionPortThreads 1000 int
VYR>>на С# паралелил при помощи Parallel.For — какая-то жуть — накидывает 5% нагрузки в лучшем случае
B>Как у тебя ThreadPool настроен? Что возвращают GetAvailableThreads/GetMaxThreads ?
B>https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadpool?redirectedfrom=MSDN&view=netframework-4.7.2
int aworkerThreads;
int acompletionPortThreads;
ThreadPool.GetAvailableThreads(out aworkerThreads,out acompletionPortThreads);
int mworkerThreads;
int mcompletionPortThreads;
ThreadPool.GetMaxThreads(out mworkerThreads, out mcompletionPortThreads);
aworkerThreads 1023 int
acompletionPortThreads 1000 int
mworkerThreads 1023 int
mcompletionPortThreads 1000 int
Re[2]: распараллеливание и ресурсоёмкость
Здравствуйте, bzig, Вы писали:
VYR>>на С# паралелил при помощи Parallel.For — какая-то жуть — накидывает 5% нагрузки в лучшем случае
B>Как у тебя ThreadPool настроен? Что возвращают GetAvailableThreads/GetMaxThreads ?
B>https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadpool?redirectedfrom=MSDN&view=netframework-4.7.2
aworkerThreads 1023 int
acompletionPortThreads 1000 int
mworkerThreads 1023 int
mcompletionPortThreads 1000 int
пробовал даже так — все ровно ощутимая добавка к загрузке
VYR>>на С# паралелил при помощи Parallel.For — какая-то жуть — накидывает 5% нагрузки в лучшем случае
B>Как у тебя ThreadPool настроен? Что возвращают GetAvailableThreads/GetMaxThreads ?
B>https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadpool?redirectedfrom=MSDN&view=netframework-4.7.2
int aworkerThreads;
int acompletionPortThreads;
ThreadPool.GetAvailableThreads(out aworkerThreads,out acompletionPortThreads);
int mworkerThreads;
int mcompletionPortThreads;
ThreadPool.GetMaxThreads(out mworkerThreads, out mcompletionPortThreads);
aworkerThreads 1023 int
acompletionPortThreads 1000 int
mworkerThreads 1023 int
mcompletionPortThreads 1000 int
пробовал даже так — все ровно ощутимая добавка к загрузке
ParallelOptions po=new ParallelOptions();
po.MaxDegreeOfParallelism=4;
Parallel.For(0, no_channel,po,(Action<int>)((i) => {
tmp[i] = new double[no_point];
fs[i].Next(ref tmp[i], src);
}));