for(int i=1,n=tempUser.length;i 결론: 변수는 각 루프의 다음 수준 변수에 액세스해야 한다는 영향을 받습니다. 단순한 a.length라면 컴파일러는 그러한 루프 연산을 최적화하고 a.length를 메모리나 메모리보다 큰 장소에 저장했을 수도 있지만 다중 레벨은 그렇게 운이 좋지 않습니다. 우리 모두는 for(int i=0;i
이런 결과가 나왔지만, 제가 생각했던 것과는 전혀 반대였어요. 물론 대답은 거의 같습니다.
오늘 이 글에 반응이 달린 다른 선배님의 블로그를 발견했습니다. 테스트를 해보니 대략적으로 이전 포스트의 문제와 비슷할 것이라는 내용이었는데, 좀 더 심층적인 테스트를 해보니 for (int i=0;i
static void Main(string[] args) {
string s;
s = Console.ReadLine()
while(s != "0") {
Person p = new Person(10000000);
Console.WriteLine("for(int i=0;i
long l1 = DateTime.Now.Ticks;
for(int i = 0; i < p.Child.Alias.Length; i ) {
// Console.Write(lenArray[i]);
}
long l2 = DateTime.Now.Ticks
Console.WriteLine("Ending.nTime은 "(l2 - l1) ).ToString());
Console.WriteLine("for(int i=0,n=lenArray.length;i
long l3 = DateTime.Now.Ticks;
for(int i = 0, n = p.Child.Alias.Length; i < n; i ) {
/ /Console.Write(lenArray[i]);
}
long l4 = DateTime.Now.Ticks;
Console.WriteLine("Ending.nTime은 " (l4 - l3 ).ToString());
s = Console.ReadLine();
Console.Read()
}
}
데이터의 양이 많을수록 클래스도 커지며, 그 차이도 더욱 확연해집니다.