개요자바에서 컬렉션을 순회하는 방법은 다양하다. 대표적으로 for 루프, 향상된 for 루프(Enhanced For), Iterator, 그리고 ListIterator가 있다. 각각의 방법은 성능이나 코드의 간결성 측면에서 차이가 있는데 단순히 ~는 객체지향적이기에 사용하면 좋고, ~는 성능이 안좋아서 개선 버전이 있으니 무조건 향상된 for 문을 쓰자 를 넘어서 직접 운영중인 api 의 알고리즘을 대상으로 테스트를 해본다. 이번 글에서는 이러한 순회 방법들이 실제로 얼마나 성능 차이가 나는지, 어떤 상황에서 특정 방법을 사용하는 것이 유리한지에 대해 이야기를 해보려한다. 테스트 대상 특성 성능 테스트는 일정 관리 시스템에서 일정을 순회하며 각 일정의 타입을 계산하는 과정으로 1. 리스트에 삽입/..
메모리
목차 개요 스케줄링 큐, CPU와의 큐잉다이어그램에 대한 자세한 이해를 돕기 위한 글이다. 상위글은 여기서 ⬇⬇⬇⬇ 2022.08.14 - [OS :: 운영체제] - 프로세스 :: 다중 프로그래밍과 스케줄링 스케줄링 큐 Ready queue는 상위 포스팅에서 기술했다 싶이 준비 상태의 프로세스들이 모여있는 큐이다. 나머지 큐를 보게 되면 각각 Ready : R, Suspend : S, Blocked B 세가지가 존재하게 되는데 표를 자세히 들여다 보면 B큐만 Event wait 상태를 받고 있고 RS, BS 큐는 B 큐에서 보내준 큐를 차례대로 받아서 다시 CPU에 들어가는 메인 R 큐에 이동 시켜주는 것을 확인 할 수 있다. Suspend (잠시 중지되었다가 트리거로 인하여 준비 상태로 돌아가는 상태)..