1 백만 개가 넘는 항목을 반복해야하고 다음 액션은 1 백만 개 항목에 대한 성공적인 반복에 따라 달라집니다. 현재 C#의 While 루프를 사용하고 있습니다. 반복을 완료하는 데 5-6 분 정도 소요됩니다. 이 처리 속도를 높이는 방법이 있습니까? 나중에 반복 할 항목이 약 5 ~ 6 백만 개가 될 수 있습니다. 당신이 경우C에서 루프를 어떻게 가속화 할 수 있습니까?
System.IO.StreamReader file =
new System.IO.StreamReader("data.csv");
System.IO.StreamWriter jsonFile =
new System.IO.StreamWriter("jsonData.csv");
BBP obj;
var dataList = new Dictionary<string, dynamic>();
while ((line = file.ReadLine()) != null)
{
if (counter == 0)
{
columns = line.Split(',');
}
else
{
data = line.Split(',');
obj = new BBP();
obj.BBP_CR_PART_NO = data[0];
obj.BBP_RO_NO = data[1];
obj.BBP_BPR_TPN = data[2];
dataList.Add("item_" + counter, obj);
Console.WriteLine(counter);
}
counter++;
}
이 질문은 너무 모호하고 추측입니다. 루프 자체는 본질적으로 느리지 않습니다. 1 백만 번의 반복 작업은 현대 하드웨어의 경우 1 초도 안 걸립니다. 하지만 느린 코드는 게시하지 않으므로 누구나 코멘트 할 방법이 없습니다. http://stackoverflow.com/help/mcve –
'Parallel.For'를 사용해보십시오. – Shaharyar
우편 번호가 맞지 않거나 도움을받을 수 없습니다. 어떻게 사용하고 있습니까? 그냥 컬렉션을 반복하는 경우 foreach를 사용하여, 느린 부분이 반복이 아니라 당신이 거기에서 무엇을하고 있는지를 확신 할 수있다. –