Сообщение Re[3]: Нужен совет и MaxDegreeOfParallelism от 15.02.2019 14:25
Изменено 15.02.2019 14:41 RushDevion
Re[3]: Нужен совет и MaxDegreeOfParallelism
S>.net 4.5.2
Ну заменить MemoryBuffer на MemoryStream.
S>Увы, штука сильно динамическая, поскольку в процессе обработки будут использоваться\подгружаться другие файлв в кол-ве от 3 до 8, и все это будет конвертироваться в соотв. базу данных для обработки.
S>Отсюда возможно всплески до 1ГБ и более. Тут трудно что-либо предсказать. Просто есть вероятность, что если файл >30Мб то возможно отъесть до 1Гб ОЗУ. А может и нет. Поэтму не подходит.
Ну все равно я бы думал в сторону контролёра памяти, который следил бы за объемом доступной памяти и разрешал-запрещал операцию с файлом.
S>Меня больше интересуют гарантии, что при MaxDegreeOfParallelism = 1 точно будет один поток, а то выяснится, что это так, пожелание, которое планировщик вполне может игнорировать.
Так а зачем тебе для MaxDegreeOfParallelism=1 Parallel? Запускай отдельный поток/таску и перебирай в цикле.
Ну заменить MemoryBuffer на MemoryStream.
S>Увы, штука сильно динамическая, поскольку в процессе обработки будут использоваться\подгружаться другие файлв в кол-ве от 3 до 8, и все это будет конвертироваться в соотв. базу данных для обработки.
S>Отсюда возможно всплески до 1ГБ и более. Тут трудно что-либо предсказать. Просто есть вероятность, что если файл >30Мб то возможно отъесть до 1Гб ОЗУ. А может и нет. Поэтму не подходит.
Ну все равно я бы думал в сторону контролёра памяти, который следил бы за объемом доступной памяти и разрешал-запрещал операцию с файлом.
S>Меня больше интересуют гарантии, что при MaxDegreeOfParallelism = 1 точно будет один поток, а то выяснится, что это так, пожелание, которое планировщик вполне может игнорировать.
Так а зачем тебе для MaxDegreeOfParallelism=1 Parallel? Запускай отдельный поток/таску и перебирай в цикле.
Re[3]: Нужен совет и MaxDegreeOfParallelism
S>.net 4.5.2
Ну заменить MemoryBuffer на MemoryStream.
S>Увы, штука сильно динамическая, поскольку в процессе обработки будут использоваться\подгружаться другие файлв в кол-ве от 3 до 8, и все это будет конвертироваться в соотв. базу данных для обработки.
S>Отсюда возможно всплески до 1ГБ и более. Тут трудно что-либо предсказать. Просто есть вероятность, что если файл >30Мб то возможно отъесть до 1Гб ОЗУ. А может и нет. Поэтму не подходит.
Ну все равно я бы думал в сторону контролёра памяти, который следил бы за объемом доступной памяти и разрешал-запрещал операцию с файлом.
S>Меня больше интересуют гарантии, что при MaxDegreeOfParallelism = 1 точно будет один поток, а то выяснится, что это так, пожелание, которое планировщик вполне может игнорировать.
Так а зачем тебе Parallel для MaxDegreeOfParallelism=1? Просто запускай отдельный поток/таску и перебирай в цикле.
Ну заменить MemoryBuffer на MemoryStream.
S>Увы, штука сильно динамическая, поскольку в процессе обработки будут использоваться\подгружаться другие файлв в кол-ве от 3 до 8, и все это будет конвертироваться в соотв. базу данных для обработки.
S>Отсюда возможно всплески до 1ГБ и более. Тут трудно что-либо предсказать. Просто есть вероятность, что если файл >30Мб то возможно отъесть до 1Гб ОЗУ. А может и нет. Поэтму не подходит.
Ну все равно я бы думал в сторону контролёра памяти, который следил бы за объемом доступной памяти и разрешал-запрещал операцию с файлом.
S>Меня больше интересуют гарантии, что при MaxDegreeOfParallelism = 1 точно будет один поток, а то выяснится, что это так, пожелание, которое планировщик вполне может игнорировать.
Так а зачем тебе Parallel для MaxDegreeOfParallelism=1? Просто запускай отдельный поток/таску и перебирай в цикле.