xml (Xml.Linq) документ не сложный, около 60 тыс элементов пишется в все в "монгу", ну очень долго 3-4 часа , памяти почти не ест, как подступится ? foreach на for заменил list на array так же ничего не дало.
Подскажите какой алгоритм по поиску узких мест и какой инструментарий
Переменные типа String в цикле формируются?
да там в основном текст
а как пишешь то?
Где возможно замени на stringbuilder мне помогло
да спарсил -> создал объект-> вызвал метод записи
Строки в шарпе медленно работают. Каждая операция со строкой это новая строка, выделение памяти и прочая работа
вот посмотри https://medium.com/@alex.puiu/parallel-foreach-async-in-c-36756f8ebe62
спасибо попробую
посмотрю спасибо
Поменять на стрингбилдер, как посоветовали. А потом по каждому методу вот с такой пепякой и далее уже в каждом конкретном случае думать: var watch = System.Diagnostics.Stopwatch.StartNew(); // код, скорость которого замеряем watch.Stop(); var elapsedInMilliseconds = watch.ElapsedMilliseconds;
ага спасибо будем тыкать
Нужно профилировать.
надо ещо бы монгу профайлить, может при записи оно тормозит
Обсуждают сегодня