Описание тега plinq
PLINQ - это механизм выполнения параллельных запросов для LINQ. PLINQ поддерживает шаблон параллелизма данных, добавляя дополнительный синтаксис, позволяющий объявлять запросы как выполняющиеся параллельно.
3
ответа
Параллельная реализация LINQ в моно?
Я подумывал попробовать PLINQ для распараллеливания некоторых числовых методов, которые должны быть переносимыми. Mono реализует Parallel LINQ? Если да, то как сравнить производительность между.NET и моно.
01 июн '10 в 09:45
1
ответ
Ограничения использования памяти на количество потоков с использованием PLINQ
Я использую PLINQ для параллелизации данных в операции. Каждый поток потребляет очень большой объем памяти, который зависит от настроек алгоритма, и нет простого способа предварительно рассчитать, сколько памяти потребуется, основываясь на параметра…
25 апр '13 в 22:14
2
ответа
Почему мой запрос AsOrdered PLINQ быстрее, чем мой неупорядоченный
Я написал некоторый базовый пример кода, чтобы ознакомиться с PLINQ. Я наткнулся на что-то странное. Я не знаю, является ли это ошибкой в моем коде или ошибкой в моем понимании PLINQ. В документации MSDN говорится, что добавление AsOrdered() сох…
06 июн '12 в 00:10
2
ответа
Воспользуйтесь преимуществами PLINQ с помощью пользовательских перечислимых расширений
Многие пользовательские расширения Enumerable могут быть реализованы в терминах других встроенных операций - например, этот простой метод удобства: public static bool AnyOf<TElement>(this TElement item, IEnumerable<TElement> items) { ret…
19 дек '12 в 01:56
2
ответа
Установить несколько свойств одновременно с помощью отражения
Я пытаюсь оптимизировать использование отражения в своем коде, и мне было интересно, можно ли установить несколько свойств объекта одновременно: Пример использования: private void SetProperties<T>(List<T> objects, List<Tuple<string…
10 июл '10 в 09:36
2
ответа
PLINQ не улучшает производительность
Я написал LINQ, чтобы узнать частоты уникальных символов из текстового файла. Я также преобразовывал свой первоначальный результат в объект с помощью select. Окончательный результат получается в виде списка. Ниже приведен запрос, который я использов…
17 сен '12 в 18:53
1
ответ
Макс задач в TPL?
Я хочу использовать TPL в рабочем процессе в Windows Azure. Я ищу, чтобы добавить IJob очередь, это имеет метод Run, поэтому рабочий будет состоять из: цикл получить элемент из очереди Используйте TPL для вызова IJob.Run, это асинхронный вызов Но я …
19 янв '11 в 20:43
3
ответа
Silverlight 4 PLINQ
У меня очень простой вопрос. Можно ли использовать PLINQ с Silverlight 4, поскольку кажется, что он не существует в наиболее часто упоминаемых сборках?
27 апр '10 в 02:29
1
ответ
Степень параллелизма чтения в методе расширения PLinq
Я подумываю о создании собственного метода расширения PLinq для обеспечения функции, описанной в моем недавнем вопросе: укажите время ожидания задачи параллельно с объектами linq. Я хотел бы повторно использовать как можно больше существующей структ…
15 авг '13 в 20:52
1
ответ
Использование PLINQ для вычисления и обновления значений в корпусе не работает
Недавно мне нужно было подвести итоги по отчету. Где для каждой группы я упорядочиваю строки, а затем вычисляю промежуточную сумму на основе предыдущих строк в группе. Ага! Я подумал, идеальный вариант использования для PLINQ! Однако когда я написал…
07 май '10 в 15:24
2
ответа
LINQ - Должен ли я как-то периодически отправлять SubmitChanges(), если у меня много изменений?
У меня есть группа "роботов", которые бегают вокруг чтения RSS-потоков и сохраняют результаты в базе данных, и я распараллелил их так, чтобы можно было получать сразу несколько каналов: Parallel.ForEach(context.Feeds, feed => ProcessRssFeed(feed,…
23 авг '11 в 04:49
1
ответ
GetPartitions получил перекос разделов?
Выполнение следующего кода в интерактивном окне C# using System.Collections.Concurrent; var l = Enumerable.Range(0, 20); Partitioner.Create(l).GetPartitions(4) .Select(x => { var s = ""; while (x.MoveNext()) { s += x.Current.ToString() + ","; }; …
06 июн '18 в 17:15
2
ответа
Task.Wait в ContinueWhenAll Action
Я работал над объединением потоков в свой код Azure для помещения вещей в очередь. Для этого я использовал http://www.microsoft.com/download/en/details.aspx?id=19222 в качестве справочного материала. мой код для постановки в очередь нескольких сообщ…
10 авг '11 в 08:10
1
ответ
Странно медленно: что случилось, когда TakeWhile встретил AsParallel?
Я знаю, что неправильное использование linq может привести к снижению производительности, но на этот раз это слишком странно. Когда я вызываю "AsParallel.TakeWhile.AsParallel.ForAll", это НАМНОГО медленнее, чем "AsParallel.TakeWhile.ForAll". Может к…
20 июн '14 в 08:04
2
ответа
Блокировка одной переменной доступа для параллельных потоков в C#
Привет у меня есть этот код var queue = new BlockingCollection<int>(); queue.Add(0); var producers = Enumerable.Range(1, 3) .Select(_ => Task.Factory.StartNew(()=> { Enumerable.Range(1, queue.Count) .ToList().ForEach(i => { lock (queu…
28 янв '12 в 17:39
3
ответа
PLINQ For Все сломано в.NET 4.0 и 4.5
Я пытаюсь найти способ как можно быстрее объединить огромное количество объектов, содержащихся в списках. Надеясь воспользоваться PLINQ, я попытался, но это не многопоточное решение. Я тестировал в VS2010 и VS11Beta в 4.0 и 4.5. Это мой пример прило…
22 май '12 в 16:54
1
ответ
PLINQ O(n^2) при изменении базового списка
Предположим, у меня есть эта последовательная функция: private void Process() { for (int i = 0; i < Particles.Count; i++) for (int j = 0; j < Particles.Count; j++) if (check(Particles[i], Particles[j]) { Particle newParticle = Particle.Merge(P…
19 ноя '12 в 01:31
0
ответов
Любые улучшения производительности с использованием PLinq в операциях запросов DomainService
Могу ли я ожидать каких-либо улучшений производительности, если я использую расширение.AsParallel() в операциях запросов моей службы домена. Служба DomainService использует репозиторий (EntityFramework) для запроса данных и создания ViewModels для к…
25 май '11 в 09:16
1
ответ
Может ли PLINQ генерировать два потока? Поток ошибок и поток данных
У меня есть большой (700 МБ +) файл CSV, который я обрабатываю с помощью PLINQ. Вот запрос: var q = from r in ReadRow(src).AsParallel() where BoolParser.Parse(r[vacancyIdx]) select r[apnIdx]; Он генерирует список APN для свободных объектов, если вам…
07 апр '17 в 20:51
2
ответа
Как прочитать 2d текстовый файл в 2d массив с помощью PLinq
У меня есть файл.txt, как это: 1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,20 Я хочу прочитать этот файл в двойной массив с PLinq с этим кодом: OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Text Files(*.txt)|*.txt"; if (ofd.ShowDialog…
02 дек '15 в 08:34