본문 바로가기

Swift/Kelly Lab3

[Programming Lingo] evaluate란 무엇인가 Introduction프로그래밍 관련 문서를 원어로 읽어보면 evaluate라는 단어가 등장한다. 일반적으로 evaluate는 평가하다라는 의미를 가지고 있지만, evaluate를 단순히 '평가하다'라는 의미로 번역하는 것은 직관적이지 않다. 다음 문장을 보자.오토클로저는 평가를 지연할 수 있게 해준다, 왜냐면 (오토클로저의) 내부에 있는 코드는 클로저를 호출할 때 까지 실행되지 않기 때문이다. 평가를 지연시키는 것은 코드가 사이드 이펙트를 가지고 있거나, 계산하는데 많은 비용이 드는 경우에 코드가 평가되는 시점을 컨트롤할 수 있기 때문에 유용하다. 아래의 코드는 어떻게 클로저가 평가를 지연시키는지를 보여준다. 문맥상 이 문장에서의 평가가 코드 컨벤션 준수 여부나 코딩 스타일을 대상으로 하는 것 아니라는.. 2023. 6. 19.
[Swift] 배열, 딕셔너리 접근 속도 비교 조건 1. 배열과 딕셔너리의 크기 n (arr.count = dict.count) 2. 배열과 딕셔너리 각각의 인덱스에 담긴 값은 같음 (arr[n] = dict[n]) 3. 순차접근과 랜덤접근 각각 비교 4. 총 t회 반복한 값의 평균을 비교 실행 화면 결과 순차접근(단위: 초) n 1,000 10,000 100,000 1,000,000 10,000,000 100,000,000 배열 0.00022 0.00221 0.02159 0.21590 2.18674 21.82417 딕셔너리 0.00024 0.00243 0.02410 0.36137 4.62263 48.59678 랜덤접근(단위: 초) n 1,000 10,000 100,000 1,000,000 10,000,000 100,000,000 배열 0.00056.. 2023. 5. 18.
C, C++, JAVA, Python, Swift 단순 반복문 실행시간 비교 + 번외 2022. 5. 9.