Android
[Android] 코드에서 속도 체크 SystemClock uptimeMillis
bryan.oh
2020. 4. 8. 23:50
반응형
코드 속도 체크
SystemClock.uptimeMillis()
속도 체크를 하고 싶은 시작 부분에
Long start = SystemClock.uptimeMillis();
종료 부분에
Long end = SystemClock.uptimeMillis();
Log.d("#SPEEDTEST", "for using stream : " + (end-start) + "ms");
테스트
stream 을 이용한 loop 와 그냥 for loop 의 속도를 비교해볼까요?
// stream 이용
Long start = SystemClock.uptimeMillis();
filteredList = orgList.stream().filter(f->isTagExists(f.getTag(), tagList)).collect(Collectors.toList());
Long end = SystemClock.uptimeMillis();
VLog.d("#SPEEDTEST", "for using stream : " + (end-start) + "ms");
// for 이용
start = SystemClock.uptimeMillis();
for(ItemAlbum album : orgList){
if(isTagExists(album.getTag(), tagList) )
filteredList.add(album);
}
end = SystemClock.uptimeMillis();
VLog.d("#SPEEDTEST", "foreach : " + (end-start) + "ms");
결과
D/#SPEEDTEST: for using stream : 8ms
D/#SPEEDTEST: foreach : 3ms
stream 이 보기 좋아보여도
그냥 for 문이 훨씬 빠릅니다.
코딩 이쁘게해서 뭐합니까!? 성능이 좋은게 더 좋은 평가를 받습니다.
참고로 C#에서도 LINQ 나 AsEnumerable 로 하는것이 있는데
그건 일반 for 문과 비교해서 속도가
728x90
반응형